第一次從命令行運行cpan時,系統會提示您輸入各種問題的答案。如何從一開始就非交互式地自動化cpan並安裝模塊?如何自動化CPAN配置?
回答
由於尚未提及,因此cpanminus是零配置cpan安裝程序。如果它不適用於您的版本控制,則可以下載自包含的可執行文件。
的cpanm可執行文件很容易安裝(如可執行文件本身記錄)與:
curl -L http://cpanmin.us | perl - --self-upgrade
# or
wget -O - http://cpanmin.us | perl - --self-upgrade
一種方法是從一個系統中執行一次運行後創建的CPAN/Config.pm(或〜/ .cpan/CPAN/MyConfig.pm),並將其安裝爲〜/ .cpan/CPAN/MyConfig.pm在你想自動化的系統上。另一種方法是運行以下命令來創建MyConfig.pm文件你(有一兩件事失蹤以下是您將有適當的值,以填補在CPAN鏡子urllist參數的實際值):
#!/usr/bin/perl
use strict;
use Config;
$ENV{PERL_MM_USE_DEFAULT}=1;
$ENV{PERL_MM_NONINTERACTIVE}=1;
$ENV{AUTOMATED_TESTING}=1;
# get the path to the library
my $libpath = $Config{privlib};
# force CPAN::FirstTime to not default to manual
# setup, since initial CPAN setup needs to be automated
{
local @ARGV = "$libpath/CPAN/FirstTime.pm";
my @source = <>;
$source[72] =~ s/\byes\b/no/ or die "Could not auto configure CPAN";
eval join('', @source) or die "Error executing CPAN::FirstTime: [email protected]";
}
CPAN::FirstTime::init("$libpath/CPAN/Config.pm");
delete $CPAN::Config->{links};
$CPAN::Config->{auto_commit} = '0';
$CPAN::Config->{check_sigs} = '0';
$CPAN::Config->{halt_on_failure} = '0';
$CPAN::Config->{make_install_make_command} = '/usr/bin/make';
$CPAN::Config->{mbuild_arg} = '';
$CPAN::Config->{mbuildpl_arg} = '';
$CPAN::Config->{mbuild_install_arg} = '';
$CPAN::Config->{show_upload_date} = '';
$CPAN::Config->{tar_verbosity} = '1';
$CPAN::Config->{trust_test_report_history} = '0';
$CPAN::Config->{use_sqlite} = '0';
$CPAN::Config->{yaml_load_code} = '0';
$CPAN::Config->{urllist}
= [qw(http://... ftp://... etc...)];
$CPAN::Config->{connect_to_internet_ok} = '1';
$CPAN::Config->{perl5lib_verbosity} = 'v';
$CPAN::Config->{prefer_installer} = 'MB';
$CPAN::Config->{build_requires_install_policy} = 'no';
$CPAN::Config->{term_ornaments} = '1';
$CPAN::Config->{mbuild_install_build_command} = './Build';
mkdir ".cpan/CPAN" or die "Can't create .cpan/CPAN: $!";
CPAN::Config->commit(".cpan/CPAN/MyConfig.pm");
CPAN::install('Bundle::CPAN');
CPAN::install('JSON');
CPAN::install('JSON::XS');
# etc.
exit 0;
使自己的CPAN.pm的配置文件。最近版本的cpan
命令有一個-J
開關來轉儲當前的配置和一個-j
開關來加載你喜歡的任何配置。
謝謝。我不知道-j和-J – runrig 2010-08-12 19:21:05
我一直在尋找這個還有一個簡單的解決方案,發現這工作:
(echo y;echo o conf prerequisites_policy follow;echo o conf commit)|cpan
只是想我要在這裏發佈的情況下,任何人走來。
這很好地在Docker中配置cpan。 – Sobrique 2015-07-23 13:11:46
我只是'回聲| cpan「,因爲第一個問題是」儘可能自動化「(是的)?」 – activedecay 2017-08-16 19:58:09
- 1. 如何自動化初始CPAN配置?
- 2. 重新運行perl cpan自動配置
- 3. 如何自動化Intellij項目配置
- 4. 如何通過詹金斯配置覆蓋自動化配置
- 5. 自動化Enterprise Architect配置
- 6. waf自動化qt配置
- 7. 自動化Hg通知配置更新
- 8. 使用Git自動化系統配置
- 9. 自動化Team Foundation生成配置
- 10. SQL Server登錄配置和自動化
- 11. 使用PowerShell自動化Cygwin配置
- 12. 自動化測試和多個配置
- 13. Jenkins&Sonarqube的自動化配置
- 14. 如何自動化配置kibana中的索引模式
- 15. 如何在運行自動化測試之前配置環境?
- 16. 自動化分配
- 17. CPAN未能編譯C,我如何配置CCFLAGS?
- 18. 如何配置自動推送?
- 19. 如何自動配置Cloudera Manager?
- 20. 如何配置AptanaStudio 3自動完成
- 21. 的Apache2 - 如何配置Apache自動ltd2
- 22. 如何設置本地CPAN鏡像?
- 23. shell腳本自動安裝cpan模塊
- 24. 如何優化grunt配置
- 25. 如何自動化或移動(Silverlight)xap文件到14個配置單元ClientBin
- 26. 如何爲spring配置文件自動建議/自動完成?
- 27. 如何列出Perl cpan使用的配置變量的當前設置?
- 28. 如何配置git推動自動設置上游沒有-u?
- 29. 自動配置配置文件選擇
- 30. 自動配置與Ad-Hoc配置
我想我是賣在cpanminus :-) – runrig 2010-08-12 15:43:28
cpanminimus爲我的Dockerfiles保存了一天 – BitByteDog 2016-02-19 20:35:27