2008-12-08 34 views
14

下面是完整的安装命令CPAN和输出:我如何告诉CPAN.pm从哪里获取模块?

sudo perl -MCPAN -e "install Bundle::CPAN" 
CPAN: Storable loaded ok (v2.13) 
Going to read /home/delgreco/.cpan/Metadata 
    Database was generated on Mon, 08 Dec 2008 03:27:10 GMT 
CPAN: LWP::UserAgent loaded ok (v2.033) 
CPAN: Time::HiRes loaded ok (v1.55) 
CPAN: YAML loaded ok (v0.39) 
Warning: YAML version '0.39' is too low, please upgrade! 
I'll continue but problems are *very* likely to happen. 
Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist 
push ftp://myurl/' 

Could not fetch authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz 
Giving up on '/home/delgreco/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz' 
Note: Current database in memory was generated on Mon, 08 Dec 2008 03:27:10 GMT 

     ...propagated at /usr/lib/perl5/5.8.5/CPAN.pm line 3417. 

这为我工作,谢谢...

CPAN> 0的conf urllist http://cpan.yahoo.com/

中当然,Bundle :: CPAN安装在其他依赖项上进行失败,但至少我现在有一个YAML 0.68。

回答

19

这看起来很重要:

 
Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/' 

或许运行sudo cpan,然后o conf inito conf urllist push http://cpan.yahoo.com/(例如),让您的urllist理顺?然后尝试执行安装。

0

在猜测:

sudo perl -MCPAN -e "install YAML" 
+0

试过了......我得到:“在-e 1号线‘‘通过包’YAML”无法找到对象的方法’安装 – Marcus 2008-12-08 21:21:38

+0

你只需输入`cpan YAML` – 2008-12-29 20:13:22

4

当你第一次使用CPAN模块时,你被问到了一些问题:“你准备好继续进行交互式配置了吗?”你可能回答“不”。已选择默认配置选项,因此没有配置CPAN存储库镜像以供您从中提取模块tarball。

正如其他人已经指出的那样,您可以使用CPAN shell中的o conf urllist命令来配置该选项。

我个人偏好创建一个“miniCPAN”,这是一个本地存储库,基本上包含每个模块的最新版本(远小于拉动所有CPAN,其中包含每个模块的许多过时版本)。为此,请配置CPAN镜像存储库以临时使用,从中安装CPAN :: Mini模块,然后使用将安装的minicpan命令行程序来创建存储库。现在使用o conf urllist pop删除您配置的CPAN镜像,然后o conf urllist push file:/// path/to/your/minicpan告诉CPAN模块从现在开始从本地镜像安装。您可以将minicpan命令放在cron中以定期更新,或者只需要刷新即可从命令行运行它。

的minicpan命令的格式是

minicpan -l /path/to/your/local/minicpan-repository -r http://example.com/url/of/CPAN/mirror 
相关问题