安装模块Perl 6失败 - 没有可用于Perl v6.c的编译器

Dan*_*iel 6 perl-module rakudo perl6

我通过以下方式安装了Perl 6解释器Rakudo:

sudo apt-get install rakudo
Run Code Online (Sandbox Code Playgroud)

我正在学习有关安装Perl 6模块的教程:

http://perl6maven.com/how-to-install-perl6-modules

在最后一步中我得到了这个错误:

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?;
Run Code Online (Sandbox Code Playgroud)

有关版本的信息:

Ubuntu 16.04.2 LTS
This is perl6 version 2015.11 built on MoarVM version 2015.11
Run Code Online (Sandbox Code Playgroud)

如何安装缺少的编译器?

Dan*_*iel 6

警告:此解决方案可用于开发,但对于生产,建议手动编译解释器,直到Ubuntu存储库不会更新.

Panda在链接教程中描述的是折旧的.我应该zef用来安装Perl模块.

我的Perl版本太旧了.我在阅读380关于不能正常工作的问题后意识到这一点6.c.

有关安装最新Perl的正确教程6.c,请Ubuntu点击此处:

http://linuxtot.com/installing-perl-6-on-debian-or-ubuntu/

现在我的rakudo -v印刷品:

This is Rakudo version 2017.07-132-gabf1cfe built on MoarVM version 2017.07-318-g604da4d
implementing Perl 6.c.
Run Code Online (Sandbox Code Playgroud)

一切都很好.


以下命令摘自下面链接的教程:

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
Run Code Online (Sandbox Code Playgroud)

现在安装perl6模块:

zef install Module::Name
Run Code Online (Sandbox Code Playgroud)

  • **谨慎**对于那些阅读此内容的人......我对@ Daniel的问题和答案都进行了投票,但他们的回答是有问题的.他们的回答显然正确地识别了他们遇到的问题(旧的安装程序和旧的P6版本).他们链接的教程也让他们找到了解决方案.但该教程涉及使用rakudobrew.rakudobrew是一个脆弱的"快速而肮脏"的工具,适用于核心开发人员,而不是普通用户.我在[最近的reddit评论](https://www.reddit.com/r/perl6/comments/6htztl/no_candidate_found_for_zef/dj1bc4p/)中对此进行了更多解释. (4认同)

Chr*_*oms 3

如果您习惯从源代码安装自己的软件,请尝试以下操作(从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
Run Code Online (Sandbox Code Playgroud)

然后将以下路径添加到您的$PATH/path/to当然,替换为实际路径):

/path/to/rakudo-star-2017.07/install/bin
/path/to/rakudo-star-2017.07/install/share/perl6/site/bin
Run Code Online (Sandbox Code Playgroud)

我为此使用模块文件:

#%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
Run Code Online (Sandbox Code Playgroud)