【问题标题】:All CPAN mirrors are not working in CPAN configuration?所有 CPAN 镜像都不能在 CPAN 配置中工作?
【发布时间】:2015-05-26 00:03:25
【问题描述】:

我正在尝试在 Centos 6 上安装 CPAN 并对其进行配置。

我在配置中收到这条消息:

CPAN.pm 需要配置,但大部分都可以完成 自动地。如果您在下面回答“否”,您将进入互动式 每个配置选项的对话框。你是否想要 尽可能自动配置? [是]

我选择了是,然后我会收到以下消息提示:

自动配置除“urllist”之外的所有内容。 现在你需要选择你的 CPAN 镜像站点。你可以让我为你挑镜子,你可以 从列表中选择它们,或者您可以手动输入它们。你愿意吗 我要自动为您选择一些 CPAN 镜像站点吗? (这表示 连接到互联网)[是]

我也选择了“是”来获取该消息:

尝试使用 LWP 从 Internet 获取镜像列表: http://www.perl.org/CPAN/MIRRORED.BY 使用 LWP 获取: http://www.perl.org/CPAN/MIRRORED.BY.gz 使用 LWP 获取: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY 使用 LWP 获取: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY.gz 使用 Net::FTP 获取: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY 无法连接到主机 'ftp.perl.org' 使用 Net::FTP 使用 Net::FTP 获取 ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY.gz 无法连接到主机 'ftp.perl.org' 与 Net::FTP

尝试使用 /usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459" 获取 http://www.perl.org/CPAN/MIRRORED.BY --2015-05-25 16:39:15-- http://www.perl.org/CPAN/MIRRORED.BY Resolving www.perl.org... 108.161.188.196 连接到 www.perl.org|108.161.188.196|:80... 失败:没有到主机的路由。

Function system("/usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459"

"http://www.perl.org/CPAN/MIRRORED.BY"") 返回状态 4 (wstat 1024),离开 /home/abashir/.cpan/sources/MIRRORED.BY.tmp33459,大小为 0

尝试使用 /usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459" 获取 ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY --2015-05-25 16:39:15-- ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY => “/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459” 正在解析 ftp.perl.org... 130.161.131.20, 131.211.32.146 正在连接 ftp.perl.org|130.161.131.20|:21... 失败:没有到主机的路由。 连接到 ftp.perl.org|131.211.32.146|:21... 失败:没有路由到 主持人。

Function system("/usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459"

"ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY"") 返回状态 4 (wstat 1024),左 /home/abashir/.cpan/sources/MIRRORED.BY.tmp33459 大小为 0 警告:没有成功下载“/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459”。放弃它。 没有可用的外部 ftp 命令

使用 LWP 获取:http://www.perl.org/CPAN/MIRRORED.BY 使用获取 LWP:http://www.perl.org/CPAN/MIRRORED.BY.gz

尝试使用 /usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459" 获取 http://www.perl.org/CPAN/MIRRORED.BY --2015-05-25 16:39:15-- http://www.perl.org/CPAN/MIRRORED.BY Resolving www.perl.org... 108.161.188.196 连接到 www.perl.org|108.161.188.196|:80... 失败:没有到主机的路由。

Function system("/usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459"

"http://www.perl.org/CPAN/MIRRORED.BY"") 返回状态 4 (wstat 1024),左 /home/abashir/.cpan/sources/MIRRORED.BY.tmp33459 大小为 0 警告:没有成功下载“/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459”。放弃它。 使用 LWP 获取:ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY 获取 使用 LWP:ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY.gz 获取 Net::FTP: ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY 无法连接 使用 Net::FTP 托管 'ftp.perl.org' 使用 Net::FTP 获取 ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY.gz 无法连接到主机 'ftp.perl.org' 与 Net::FTP

尝试使用 /usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459" 获取 ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY --2015-05-25 16:39:17-- ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY => “/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459” 正在解析 ftp.perl.org... 131.211.32.146, 130.161.131.20 正在连接 ftp.perl.org|131.211.32.146|:21... 失败:没有到主机的路由。 连接到 ftp.perl.org|130.161.131.20|:21... 失败:没有路由到 主持人。

Function system("/usr/bin/wget -O "/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459"

"ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY"") 返回状态 4 (wstat 1024),左 /home/abashir/.cpan/sources/MIRRORED.BY.tmp33459 大小为 0 警告:没有成功下载“/home/abashir/.cpan/sources/MIRRORED.BY.tmp33459”。放弃它。 没有可用的外部 ftp 命令

您的 urllist 为空!可以编辑 urllist。例如。与'o conf urllist 推送ftp://myurl/'

无法获取 MIRRORED.BY 我们未能获取镜像列表的副本 来自网络。您需要自己提供 CPAN 镜像 URL。

现在您可以手动输入自己的 CPAN 网址。本地 CPAN 镜像可以 使用 'file:' URL 列出,例如 'file:///path/to/cpan/'

CPAN.pm 至少需要一个可以从中获取 CPAN 文件的 URL。

请输入您的 CPAN 网站:[]

然后我查看了perlmodlib为荷兰(我住的地方)的镜像列表,并一一输入,配置终止如下。

请输入您的 CPAN 站点:[]ftp://ftp.quicknet.nl/pub/CPAN/ Enter 另一个 URL 或 ENTER 退出:[] http://mirror.hostfuss.com/CPAN/ 输入另一个 URL 或 ENTER 退出:[]ftp://mirror.hostfuss.com/CPAN/ 输入另一个 URL 或 ENTER 退出:[] http://mirrors3.kernel.org/cpan/ 输入另一个 URL 或 ENTER 退出: [] ftp://mirrors3.kernel.org/pub/CPAN/ 输入另一个 URL 或 ENTER 到 quit: [] http://cpan.mirror.versatel.nl/ 输入另一个 URL 或 ENTER 到 quit: [] ftp://ftp.mirror.versatel.nl/cpan/ 输入另一个 URL 或 ENTER 退出:[]ftp://download.xs4all.nl/pub/mirror/CPAN/输入另一个 URL 或 ENTER 退出:[] http://mirror.leaseweb.com/CPAN/ Enter 另一个 URL 或 ENTER 退出:[] ftp://mirror.leaseweb.com/CPAN/ Enter 另一个 URL 或 ENTER 退出:[] ftp://ftp.cpan.nl/pub/CPAN/ Enter 另一个 URL 或 ENTER 退出:[] http://archive.cs.uu.nl/mirror/CPAN/ 输入另一个 URL 或 ENTER 退出:[]ftp://ftp.cs.uu.nl/mirror/CPAN/ 输入另一个 URL 或 ENTER 退出:[] http://luxitude.net/cpan/ Enter 另一个 URL 或 ENTER 退出:[]

新网址列表
ftp://ftp.quicknet.nl/pub/CPAN/ http://mirror.hostfuss.com/CPAN/
ftp://mirror.hostfuss.com/CPAN/ http://mirrors3.kernel.org/cpan/
ftp://mirrors3.kernel.org/pub/CPAN/ http://cpan.mirror.versatel.nl/ ftp://ftp.mirror.versatel.nl/cpan/
ftp://download.xs4all.nl/pub/mirror/CPAN/
http://mirror.leaseweb.com/CPAN/ftp://mirror.leaseweb.com/CPAN/
ftp://ftp.cpan.nl/pub/CPAN/http://archive.cs.uu.nl/mirror/CPAN/
ftp://ftp.cs.uu.nl/mirror/CPAN/http://luxitude.net/cpan/

自动配置完成。

提交:写了'/home/abashir/.cpan/CPAN/MyConfig.pm'

您可以随时使用 CPAN 中的“o conf init”重新运行配置 贝壳

现在,每当我尝试安装任何模块时,都会出现错误,例如尝试安装 XML::Simple,在试用结束时会收到以下信息:

请检查我在您的配置文件中找到的 URL (ftp://ftp.quicknet.nl/pub/CPAN/, http://mirror.hostfuss.com/CPAN/, ftp://mirror.hostfuss.com/CPAN/, http://mirrors3.kernel.org/cpan/, ftp://mirrors3.kernel.org/pub/CPAN/, http://cpan.mirror.versatel.nl/, ftp://ftp.mirror.versatel.nl/cpan/, ftp://download.xs4all.nl/pub/mirror/CPAN/, http://mirror.leaseweb.com/CPAN/, ftp://mirror.leaseweb.com/CPAN/, ftp://ftp.cpan.nl/pub/CPAN/, http://archive.cs.uu.nl/mirror/CPAN/, ftp://ftp.cs.uu.nl/mirror/CPAN/http://luxitude.net/cpan/) 有效。 可以编辑 urllist。例如。 with 'o conf urllist 推送 ftp://myurl/'

无法获取作者/01mailrc.txt.gz 已删除锁定文件。

可以查看最后一步的Full loghere

我该如何解决这个问题?

【问题讨论】:

  • 你在代理后面吗?
  • 您必须配置代理。在 CPAN shell 中,使用o conf http_proxy
  • @choroba,你太棒了! ……终于成功了!谢谢! ...您能否将其添加为答案,以便我可以标记它并作为您的观点和以后遇到相同问题的开发人员的解决方案?

标签: perl configuration centos6 cpan


【解决方案1】:

您似乎在代理后面。您必须在 CPAN shell 中配置代理:

o conf http_proxy 'http://user:password@proxy.com'

【讨论】:

    【解决方案2】:

    先运行cpan shell:

    $ sudo perl -MCPAN -eshell
    

    或从根目录:

    # perl -MCPAN -eshell
    

    然后从 cpan shell:

    cpan> install Bundle::CPAN
    

    从 cpan shell 退出并构建模块列表(可能需要 root):

    $ perl -MCPAN -eautobundle
    

    然后安装需要的模块,例如:

    # perl -MCPAN -eshell
    cpan> notest install Text::Iconv DateTime
    

    对于 x86_64 系统,模块将安装到 /usr/lib64/perl*/。

    【讨论】:

      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 2012-05-21
      • 2012-10-04
      • 2011-03-28
      • 2017-07-27
      • 2020-11-07
      • 1970-01-01
      相关资源
      最近更新 更多