Не удалось установить модули Perl 6 - нет компилятора для Perl v6.c
Я установил Rakudo, интерпретатор Perl 6:
sudo apt-get install rakudo
Я следую инструкциям по установке модулей Perl 6:
И на последнем шаге я получаю эту ошибку:
perl6 bootstrap.pl===SORRY!=== Error while compiling /home/daniel/test/panda/bootstrap.pl
No compiler available for Perl v6.c
at /home/daniel/test/panda/bootstrap.pl:3
------> use v6.c⏏;
Информация о версиях:
Ubuntu 16.04.2 LTS
This is perl6 version 2015.11 built on MoarVM version 2015.11
Как мне установить недостающий компилятор?
2 ответа
Если вам удобно устанавливать собственное программное обеспечение из исходных текстов, попробуйте следующее (обновите URL-адрес последней версии Rakudo Star по https://rakudo.perl6.org/downloads/star/):
wget -O rakudo-star-2017.07.tar.gz https://rakudo.perl6.org/downloads/star/rakudo-star-2017.07.tar.gz
tar -xvf rakudo-star-2017.07.tar.gz
cd rakudo-star-2017.07
perl Configure.pl --backend=moar --gen-moar
make
make rakudo-test
make install
Затем добавьте следующие пути к вашему $PATH
(замена /path/to
с фактическим путем, конечно)
/path/to/rakudo-star-2017.07/install/bin
/path/to/rakudo-star-2017.07/install/share/perl6/site/bin
Я использую файл модуля для этого:
#%Module1.0
## Metadata ###########################################
set this_module rakudo-star
set this_version 2017.07
set this_root /path/to/$this_module/$this_module-$this_version/install
set this_docs http://rakudo.org/documentation/
#######################################################
## Module #############################################
proc ModulesHelp { } {
global this_module this_version this_root this_docs
puts stderr "$this_module $this_version"
puts stderr "****************************************************"
puts stderr " $this_docs"
puts stderr "****************************************************\n"
}
module-whatis "Set up environment for $this_module $this_version"
prepend-path PATH $this_root/bin
prepend-path PATH $this_root/share/perl6/site/bin
Предупреждение: это решение можно использовать для разработки, но для производства рекомендуется вручную скомпилировать интерпретатор, пока репозиторий Ubuntu не будет обновлен.
Panda
описание в связанном учебнике не рекомендуется. Я должен использовать zef
установить модули Perl.
Моя сборка Perl была слишком старой. Я понял это после прочтения номера 380 о не работающей версии 6.c
,
Правильный учебник по установке новейшего Perl, 6.c
на Ubuntu
это здесь:
Теперь мой rakudo -v
печатает:
This is Rakudo version 2017.07-132-gabf1cfe built on MoarVM version 2017.07-318-g604da4d
implementing Perl 6.c.
И все отлично работает.
Приведенные ниже команды извлечены из учебника, связанного ниже:
apt-get install build-essential git libssl-dev
git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew
echo 'export PATH=~/.rakudobrew/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
rakudobrew build moar
rakudobrew build zef
Теперь, чтобы установить perl6
модуль:
zef install Module::Name