我想要一個perl腳本,它會在運行perl腳本時自動安裝所有的cpan模塊。你能幫忙嗎?通過perl腳本安裝cpan模塊?
回答
CPAN
客戶端只是一個Perl module它是由命令行工具包裝。因此,您可以直接從Perl腳本中調用它。
但是,您可能需要系統管理員權限才能安裝新模塊。避免這種情況的一種方法是使用local::lib
,或者向用戶請求必要的權限。在Unix上,如果不以root身份運行,您可以拒絕運行腳本。但是,這會引發許多安全問題,應儘可能避免。
一個相當健全的解決方案是要求您的用戶安裝cpanm
client,並在cpanfile
中指定您的依賴關係。您的用戶然後只需要做cpanm --installdeps /dir/of/your/script
。
但是,如果我們已經經歷了所有這些麻煩,你也可以做一個適當的CPAN分配。您不必將其上傳到CPAN,但可以分發tarball,並讓用戶安裝它。這有很多優點:成熟的工具鏈,自動化測試和像Dist::Zilla
這樣的創建分佈的微妙助手。
如何捕獲安裝的輸出 – user3248333
查看'cpan'工具的源代碼。這只是一個Perl程序。 –
我贏了7.我還不確定你是如何回答OP的問題的。我需要在用戶PC上執行期間在我的腳本中安裝一些模塊。我也嘗試了下面的建議,但它並沒有工作。我的perl抱怨說我錯過了CPAN :: Shell。我在5.18.2版本。如果安裝缺失模塊的腳本本身需要用戶安裝另一個模塊'cpanm',那麼這個建議有什麼錯誤?我不能指望我的用戶安裝像Firefox或Chrome這樣的簡單應用程序。 – YouHaveaBigEgo
使用CPAN::Shell,從文檔:
CPAN::Shell->install("Acme::Meta");
通過perl腳本中的CPAN :: Shell安裝perl模塊的依賴關係的任何可能性 – user3248333
我想通過perl腳本爲cpanmodule添加代理,我該怎麼做? – user3248333
閱讀文檔,它清楚地說明了如何做到這一點。如果你想使用這個工具,請閱讀手冊 –
- 1. perl cpan模塊安裝
- 2. shell腳本自動安裝cpan模塊
- 3. 無法安裝perl CPAN模塊POSIX :: strptime
- 4. Perl:安裝CPAN模塊時出錯
- 5. 安裝perl模塊:cpan shell vs rpm/deb
- 6. Perl的安裝GD模塊CPAN
- 7. 從CPAN安裝perl模塊時出錯
- 8. 在Windows上安裝Sqitch Perl CPAN模塊
- 9. 安裝CPAN模塊
- 10. Perl腳本語言中的CPAN模塊
- 11. 安裝CPAN模塊而不搞亂系統Perl安裝
- 12. 在特定的Perl安裝中安裝CPAN模塊
- 13. 安裝CPAN模塊而不搞亂系統Perl安裝
- 14. Cpan模塊安裝錯誤
- 15. 無root安裝CPAN模塊
- 16. CPAN模塊安裝失敗
- 17. 在本地目錄中安裝PERL CPAN模塊
- 18. 我通過cpan安裝了perl模塊。但是,我如何使用它?
- 19. 安裝需要通過CPAN
- 20. shell/bash腳本自動安裝cpan模塊
- 21. 該腳本應該安裝哪些CPAN模塊?
- 22. 通過Cpan安裝Tk模塊的問題
- 23. perl cpan安裝錯誤
- 24. Perl安裝cpan App :: cpanminus
- 25. Perl模塊安裝?
- 26. 用apt-get代替cpan安裝perl模塊的目的
- 27. 如何安裝ZeroMQ及其cpan perl模塊ine windows(activeperl)
- 28. 從cpan安裝Perl CGI模塊時出錯
- 29. 安裝Perl模塊和依賴與非根和不CPAN
- 30. 如何使用系統命令安裝cpan模塊 - perl
什麼平臺是你嗎?我可以提出一個建議,如何在Linux上做到這一點,但它不嚴格基於perl的。 – Jeef
其實我現在在Windows上工作,但如果你能在Linux中講述,那麼對我來說也是好的。 – user3248333