ОБНОВЛЕНИЕ :
Благодаря SO * ссылке ikegami , с тех пор я просмотрел некоторые источники, где мы можем найти много информации об этом.Чтобы получить более конкретные местоположения:
# perl -V:'install(privlib|archlib|vendorlib|vendorarch|sitelib|sitearch)' |column -t -s "="
installarchlib '/usr/lib/perl5/5.26/x86_64-cygwin-threads';
installprivlib '/usr/share/perl5/5.26';
installsitearch '/usr/local/lib/perl5/site_perl/5.26/x86_64-cygwin-threads';
installsitelib '/usr/local/share/perl5/site_perl/5.26';
installvendorarch '/usr/lib/perl5/vendor_perl/5.26/x86_64-cygwin-threads';
installvendorlib '/usr/share/perl5/vendor_perl/5.26';
Затем, чтобы понять их значение, мы можем посмотреть (в источниках perl) в файле: ./Porting/Glossary
:
installarchlib '- is the same for modules with arch- or build-dependent components.'
installprivlib '- contains the "pure Perl" modules that came with Perl.'
installsitearch '- is the same for modules with arch- or build-dependent components.'
installsitelib '- contains the "pure Perl" modules installed by you.'
installvendorarch '- is the same for modules with arch- or build-dependent components.'
installvendorlib '- contains the "pure Perl" modules installed by your distro.'
сдополнительное интересное примечание об опции installstyle :
installstyle (installstyle.U):
Эта переменная описывает стиль установки perl.Предполагается, что это будет полезно для инструментов, которые должны манипулировать целыми дистрибутивами Perl.Сам Perl не использует это для поиска своих библиотек - каталоги библиотек хранятся непосредственно в Config.pm.В настоящее время существует только два стиля: lib
и lib/perl5
.Расположение библиотеки по умолчанию (например, privlib, sitelib): $prefix/lib
или $prefix/lib/perl5
.Первый полезен, если $ prefix - это каталог, выделенный для perl (например, / opt / perl), а второй полезен, если префикс $ используется многими пакетами, например, если $prefix=/usr/local
.
К сожалению, хотя эта переменная «style» используется для установки значений по умолчанию для всех трех иерархий каталогов (ядро, поставщик и сайт), нет гарантии, что один и тот же стиль действительно подходит для всех этих каталогов.Например, префикс $ может быть / opt / perl, но $siteprefix
может быть / usr / local.(Возможно, ретроспективно, стиль "lib" никогда не должен был поддерживаться, но в то время это казалось хорошей идеей.)
Ситуация еще менее ясна для таких инструментов, как MakeMaker, которые могут бытьиспользуется для установки дополнительных модулей в нестандартных местах.Например, если пользователь намеревается установить модуль в частный каталог (возможно, установив PREFIX в командной строке Makefile.PL), то нет никаких оснований предполагать, что параметр Configure-time $ installstyle будет релевантным для этого PREFIX..
Позже это может быть расширено, чтобы включить другую информацию, поэтому будьте осторожны с сопоставлением с шаблоном результатов.
Для совместимости с perl5.005 и более ранними версиями настройка по умолчанию основана на том,или нет префикс $ содержит строку «perl».
Все подробности можно найти в файле INSTALLATION
под заголовком Installation Directories
.
Directories for the perl distribution
:
По умолчанию Configure будет использовать следующие каталоги (5.28.1):
Configure variable Default value
$prefixexp /usr/local
$binexp $prefixexp/bin
$scriptdirexp $prefixexp/bin
$privlibexp $prefixexp/lib/perl5/$version
$archlibexp $prefixexp/lib/perl5/$version/$archname
Directories for site-specific add-on files
:
Configure Default
variable value
$siteprefixexp $prefixexp
$sitebinexp $siteprefixexp/bin
$sitescriptexp $siteprefixexp/bin
$sitelibexp $siteprefixexp/lib/perl5/site_perl/$version
$sitearchexp $siteprefixexp/lib/perl5/site_perl/$version/$archname
Directories for vendor-supplied add-on files
:
Если вы создаете бинарный дистрибутив perl для распространения, Configure может дополнительно настроить следующие каталоги для вас:используется для распространения дополнительных модулей.
Configure Default
variable value
$vendorprefixexp (none)
(The next ones are set only if vendorprefix is set.)
$vendorbinexp $vendorprefixexp/bin
$vendorscriptexp $vendorprefixexp/bin
$vendorlibexp $vendorprefixexp/lib/perl5/vendor_perl/$version
$vendorarchexp $vendorprefixexp/lib/perl5/vendor_perl/$version/$archname
otherlibdirs
:
В качестве окончательного универсального средства Configure также предлагает переменную $otherlibdirs
.Эта переменная содержит список дополнительных каталогов, разделенных двоеточиями, которые нужно добавить в @ INC .По умолчанию он будет пустым.
APPLLIB_EXP
:
Существует еще один способ добавления путей к @INC во время сборки perl, а именно путем установки токена препроцессора APPLLIB_EXP C.Каталоги, определенные APPLLIB_EXP, добавляются в @INC сначала , опережая все остальные.
sh Configure -Accflags='-DAPPLLIB_EXP=\"/usr/libperl\"'