Установите модули Perl 6 в нестандартном месте

Установка Perl 6 с использованием Rakudo Star 2016.01 довольно проста. Я сделал ручную установку как предложено здесь:

perl Configure.pl --backend=moar --gen-moar --prefix=/opt/rakudo/rakudo-star-2016.01
make
make install

Perl6 теперь установлен на /opt/rakudo/rakudo-star-2016.01/bin

Panda, менеджер модулей Perl 6, который поставляется вместе с Rakudo, установлен в /opt/rakudo/rakudo-star-2016.01/share/perl6/site/bin

Затем я могу добавить оба пути в переменную $PATH, чтобы сразу запустить работающую установку Perl6.

Моя единственная проблема заключается в том, что установка по умолчанию для модулей Perl 6 все еще находится в каталоге $HOME: ~/.perl6

Тем не менее, я хотел бы установить модули Perl 6 в /opt а на самом деле в /opt/perl/perl6

Я попытался установить переменную PERL6LIB перед выполнением шагов установки, описанных выше, сexport PERL6LIB=/opt/perl/perl6но безуспешно, потому что модули все еще установлены ~/.perl6

Как я могу сказать Perl6 или Panda установить модули в нестандартном месте, вне моего каталога $HOME?

1 ответ

Решение

Настройка PERL6LIB должна быть достаточной для указания пути, где будут установлены новые модули Perl 6. Эта переменная может быть установлена ​​до установки Perl 6.

export PERL6LIB="/opt/perl/perl6/lib" # or better is to put this line in .profile or .bash_profile
perl Configure.pl --backend=moar --gen-moar --prefix=/opt/rakudo-star/rakudo-star-2016.01
make && make install

Это установит Perl6 в /opt/rakudo-star/rakudo-star-2016.01/bin и панда в /opt/rakudo-star/rakudo-star-2016.01/share/perl6/site/bin

Новые модули могут быть установлены с Panda, например,

panda install Task::Star

и они должны быть найдены в /opt/perl/perl6/lib/.precomp (это скрытая папка...)

Во время этой установки ~/.perl6 все еще создан, но должен быть пустым.

Другие вопросы по тегам