當我從源代碼安裝perl時,第一個好的驚喜是,從現在開始安裝的所有模塊都可以用於新的perl。由於我沒有在我的操作系統附帶的cpan上找到一個模塊,所以我必須使用onboard-perl的某些腳本。對於這些腳本之一,我想安裝Text :: Format或Text :: Autoformat(在cpan上沒有找到該模塊的文檔)。我的問題:我如何告訴cpan這次爲OS-distro-perl安裝模塊?如何告訴cpan更改模塊安裝的目標?
回答
每個Perl安裝都有自己的想法,即圖書館應該在哪裏「活着」,CPAN模塊使用它作爲執行安裝位置的指南。您可以通過執行perl -V
來查看這些值,然後查找@INC
(底部)的值。如果調用CPAN用不同的Perl(例如,你的系統安裝的Perl),您將自動模塊安裝到Perl的首選地點:
/usr/bin/perl -MCPAN -e shell
或簡單地安裝一個模塊,而無需調用CPAN命令明確:
/usr/bin/cpan <modulename>
還有CPAN配置選項可用,您可以暫時或永久更改安裝位置,但這不應該在您的情況下需要。
/路徑/到/ System/perl的-MCPAN -e殼
這與運行'cpan'是一樣的。 – 2010-03-17 03:14:49
brian d foy:'cpan'將爲PATH中的第一個perl運行cpan shell,而不是用於需要的perl。 – 2010-03-17 08:09:41
'perl -MCPAN -e shell'和簡單的'cpan'有什麼不同? – 2015-07-15 10:48:18
我假設你想簡單的模塊安裝到不同的位置,然後從該位置運行它們 - 你的問題是不是太對我清楚。
在local::lib
上完全閱讀perldoc。我試圖更好地編寫這個文件是一個重大失敗。這也是實現這一任務的最新和先進的方式。如果另一個解決方案沒有引用這個模塊,那麼我個人的建議就是避免它像鼠疫一樣。
沒有特別的方法可以告訴cpan只在一個調用中將模塊安裝到一個新的位置。然而,該功能與我的待辦事項列表以及local :: lib支持一致。我真的瞭解你的痛苦,並希望獲得同樣的功能。我只需要時間(或補丁)來使它工作。
在那之前,你必須輸入CPAN.pm殼並更改值mbuild_arg
和makefilepl_arg
在perlfaq8: How do I keep my own module directory?指出:
當您構建模塊,就告訴Perl在哪裏安裝的模塊。
對於基於Makefile.PL的發行,產生Makefile文件時,請使用INSTALL_BASE選項:
perl Makefile.PL INSTALL_BASE=/mydir/perl
你可以在你的CPAN.pm的配置設置此所以模塊會自動在你的私人圖書館目錄時,使用安裝CPAN.pm殼:
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit
對於基於Build.PL的發行,使用--install_base選項:
perl Build.PL --install_base /mydir/perl
您可以配置CPAN。pm也自動使用該選項:
% cpan
cpan> o conf mbuild_arg "--install_base /mydir/perl"
cpan> o conf commit
沒有爲我工作。完成這些配置後,CPAN仍然將'SVG'軟件包('cpan -i SVG')不恰當地安裝到'$ HOME/perl5/lib/perl5 /'中。 – 2015-07-15 10:52:33
- 1. 無root安裝CPAN模塊
- 2. Cpan模塊安裝錯誤
- 3. 如何在不安裝cpan模塊的情況下開發cpan模塊?
- 4. 如何將CPAN模塊安裝到本地目錄中?
- 5. 如何告訴CMake安裝目錄取決於僞目標?
- 6. Perl:安裝CPAN模塊時出錯
- 7. 無法安裝perl CPAN模塊POSIX :: strptime
- 8. CPAN在哪裏安裝模塊?
- 9. CPAN模塊聲稱安裝但不要
- 10. 在Windows上安裝Sqitch Perl CPAN模塊
- 11. shell腳本自動安裝cpan模塊
- 12. 安裝perl模塊:cpan shell vs rpm/deb
- 13. 在窗口上安裝CPAN模塊
- 14. AppConfig模塊無法安裝(cpan)
- 15. CPAN Perl模塊安裝失敗
- 16. 如何報告CPAN模塊錯誤
- 17. cpan安裝和模塊目錄需要幫助
- 18. 如何使用cpan工具安裝本地模塊?
- 19. 如何在使用perlbrew時安裝CPAN模塊?
- 20. 如何使用系統命令安裝cpan模塊 - perl
- 21. 如何告訴perl模塊的路徑?
- 22. 如何告知CPL的CPAN安裝使用我的FFTW路徑?
- 23. 在XAMPP for Windows上安裝CPAN上的perl模塊
- 24. 通過Cpan安裝Tk模塊的問題
- 25. 如何重建/重新安裝最新的CPAN模塊的依賴關係?
- 26. 如何更改Node.js模塊包裝?
- 27. 如何更改Xcode安裝目標? (例如安裝iOS 4.x測試版)
- 28. CPAN安裝模塊說OK,但編譯在該模塊上失敗
- 29. 使用cpan安裝後仍未找到Perl模塊
- 30. 無法在CentOS 5上使用cpan安裝模塊Unicode :: Map8
我不明白這是怎麼說的問題,他問,「改變模塊安裝的目標」,這一切都涉及PERL5LIB,雖然適用與CPAN安裝的東西無關。有了這個說法,恭喜您閱讀這個問題。 – 2010-03-12 20:29:39
而且,AFAIK cpan/cpanp在任何發行版中都不使用@INC的最後一個值,而是使用它們的分發配置。 – 2010-03-12 20:35:12
@Evan:不同的CPAN安裝到不同的位置。使用與您想要安裝的perl相對應的'cpan'可執行文件將使用已安裝時已經設置的配置「正常工作」。 – Ether 2010-03-12 20:36:47