2014-10-27 48 views
2

我想在我的機器上使用perlbrew和cpanm。我安裝perlbrew這樣使用perlbrew和cpanm查找模塊時出錯

curl -L http://install.perlbrew.pl | bash 

,並在我的.bashrc來源~/perl5/perlbrew/etc/bashrc。接下來我安裝了perl v5.21.5並切換到這個版本。which perl命令指向我的perlbrew安裝。 cpanm也是如此。

但是,當我安裝一個像cpanm Mojo這樣的perl模塊既不安裝二進制文件也不能找到包含文件。但所有測試都通過了。我看了下~/perl5/並找不到消息來源。有沒有人有過同樣的問題?我之前可能在我的Ubuntu 14.04上使用過cpan。這可能會導致任何問題?我怎樣才能找出cpanm放置模塊的位置?

BTW:我使用perlbrew版本0.71

回答

0

是否運行在一個偶然的機會一個新的終端窗口的命令cpanm,如果因此它可能不使用你的釀造新的Perl。

「perlbrew use」只會使當前shell使用brew中的perl,而「perlbrew switch」會使當前用戶的所有新shell都使用選定的perl。

你應該提供的「perl -V來」和「perlbrew信息」

這裏的輸出是一個提示你如何找到在哪裏cpanm安裝模塊:

1)安裝定位(須藤資質安裝定位)

2)運行「須藤updatedb的」(由創建定位使用的索引)

3)運行「的定位魔」上看到文件已被創建。

也有趣的是要知道你正在使用哪個cpanm二進制文件。 「這cpanm」

你可以安裝一個perlbrew寬cpanm與「perlbrew安裝-cpanm」

0

[我要假設你開始了一個新的外殼(例如,重新打開你的終端或執行exec bash)或源~/perl5/perlbrew/etc/bashrc安裝後在你當前的shell裏perlbrew]

你用哪個Perl安裝cpanmcpanm將爲運行它的Perl安裝模塊,如果您將其作爲cpanm ...運行,那麼它將在cpanm的第一行中提到。

選項:

  1. 使用cpan而不是cpanm
  2. 使用新安裝的Perl安裝cpanm
  3. 使用perl -S cpanm ...作爲解決方法。
0

我解決了這個問題,刪除了我的主目錄中的所有與perl相關的問題。文件夾〜/ .cpan具有寫保護文件。只有sudo用戶才能刪除它們。我以爲過去我用cpan作爲root用戶。另外我刪除了〜/ .cpanm和〜/ perl5。在重新安裝perlbrew,perl和mojolicious之後,所有的東西都開箱即用。

0

在我的情況下,我只是試圖讓一些Perl代碼運行。非常感謝irc.freenode.net上的#perl頻道。

我第一次使用local :: lib,但使用它後可能沒有完全清理。我試圖運行的代碼所需的模塊不能與系統perl一起運行。這太舊了。然後我試着perlbrew install perl-5.20.1perlbrew install-cpanm。用已知數量重新開始感覺很棒。然而我發現模塊通過了測試,並表示他們正在安裝,但沒有找到並使用。依賴性正試圖不斷重新安裝。一次只安裝一個依賴項甚至都不行。真是莫名其妙。一路上我讀取設置PERL_MB_OPTPERL_MM_OPT,但我認爲我應該也設置PERL5LIB與那些。

所以我從rm -rf ~/.cpan ~/.cpanm ~/perl5後開始用perlbrew。現在一切正常。歡呼!