2017-08-05 146 views
6

我安裝Rakudo,Perl 6的解釋,並非編譯:安裝的模塊Perl 6的失敗 - 可用於Perl v6.c

sudo apt-get install rakudo 

我下面一個有關安裝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⏏; 

有關版本信息:

Ubuntu 16.04.2 LTS 
This is perl6 version 2015.11 built on MoarVM version 2015.11 

如何安裝缺少的編譯器?

+0

首次發佈的Perl 6作爲標準是在2015年12月,你有一個從上個月的Rakudo。 –

回答

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 
+0

非常感謝。 – Daniel

6

警告:此解決方案可用於開發,但對於生產,建議手動編譯解釋器,直到Ubuntu存儲庫不會更新。

Panda在鏈接教程中描述的折舊。我應該使用zef來安裝Perl模塊。

我的Perl版本太舊了。在閱讀issue 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. 

而且一切都很正常。


下面的命令是從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 
+4

**注意事項**對於那些閱讀此內容的人,我已經提出了@丹尼爾的問題和答案,但他們的答案依然存在問題。他們的回答顯然正確地標識了他們遇到的問題(舊的安裝程序和舊的P6版本)。他們鏈接的教程也讓他們得到了一個解決方案。但是這個教程涉及到rakudobrew的使用。 rakudobrew是一個脆弱的「快速和骯髒」的工具,意味着核心開發人員,而不是普通用戶。我在[我最近的一篇reddit評論]中更詳細地解釋了這一點(https://www.reddit.com/r/perl6/comments/6htztl/no_candidate_found_for_zef/dj1bc4p/)。 – raiph

+0

如果您不關心生產部署,而是希望在家中開始使用Perl 6,那麼跟蹤最新版本,那麼rakudobrew就完全沒問題。形容它「快而骯髒」是不真誠的。它不比像perlbrew這樣有許多人用來取得巨大成功的東西更脆弱。對於生產部署,總是有更多。在這裏值得強調的更大的問題是Ubuntu LTS有一個古老版本的Rakudo,它不符合發佈的規範。 –