我通过以下方式安装了Perl 6解释器Rakudo:
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
如何安装缺少的编译器?
答案 0 :(得分:6)
警告:此解决方案可用于开发,但对于生产,建议手动编译解释器,直到Ubuntu存储库不会更新。
折旧链接教程中描述的我的Perl版本太旧了。我在阅读issue 380关于无法使用版本6.c
后意识到这一点。
有关在6.c
上安装最新Perl Ubuntu
的正确教程,请访问:
现在我的rakudo -v
打印:
This is Rakudo version 2017.07-132-gabf1cfe built on MoarVM version 2017.07-318-g604da4d
implementing Perl 6.c.
一切都很好。
以下命令摘自下面链接的a tutorial:
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
答案 1 :(得分:2)
如果您愿意从源代码安装自己的软件,请尝试以下操作(从https://rakudo.perl6.org/downloads/star/更新最新Rakudo Star的URL):
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