【问题标题】:Why does CPAN.pm fail to upgrade?为什么 CPAN.pm 升级失败?
【发布时间】:2010-12-05 02:30:05
【问题描述】:

澄清:我几乎是一个 Perl/CPAN 菜鸟,别以为我知道 太多了。

我有一个非常普通的 CPAN,因为我刚刚重建了我的整个 Lenny 5.0.2 VPS - 所以我几乎安装了默认模块。

我的最终目标是在我的基于 Apache 2.x 的服务器上设置 foswiki

到目前为止,我正在阅读本指南,它说您应该做的第一件事是将 CPAN 升级到最新版本。所以我做了(如su):

# perl -MCPAN -e '$ENV{FTP_PASSIVE} = 1;安装 CPAN'

现在,它正在安装/更新一堆东西,摘录如下:

CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq-1.00.tar.gz CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/ CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/CPAN-Test-Dummy-Perl5-Make-Features-1.05.tgz CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/CHECKSUMS CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS.2nd CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-1.05.tar.gz CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly-1.02.tar.gz CPAN-1.9402/t/CPAN/authors/id/A/AN/CHECKSUMS CPAN-1.9402/t/CPAN/authors/id/A/CHECKSUMS CPAN-1.9402/t/CPAN/authors/id/CHECKSUMS CPAN-1.9402/t/CPAN/authors/01mailrc.txt CPAN-1.9402/t/CPAN/CpanTestDummies-1.55.pm CPAN-1.9402/t/CPAN/TestConfig.pm CPAN-1.9402/t/51pod.t CPAN-1.9402/t/02nox.t CPAN-1.9402/t/50pod.t CPAN-1.9402/t/10version.t CPAN-1.9402/t/yaml_code.yml CPAN-1.9402/t/04clean_load.t CPAN-1.9402/自述文件 CPAN: File::Temp 加载正常 (v0.18) CPAN.pm:将构建 A/AN/ANDK/CPAN-1.9402.tar.gz 将 PAUSE 公钥导入您的 GnuPG 钥匙串... gpg: 已创建新配置文件 `/root/.gnupg/gpg.conf' gpg: 警告: `/root/.gnupg/gpg.conf' 中的选项在此运行期间尚未激活 完毕! (您可能希望使用 'gpg --lsign-key 450F89EC' 在本地信任它) 检查您的套件是否完整... 看起来不错 为 CPAN 编写 Makefile 无法读取“/root/.cpan/build/CPAN-1.9402-fmK7xK/META.yml”。回退到其他方法来确定先决条件 ANDK/CPAN-1.9402.tar.gz 制作——不行 警告(通常无害):未安装“YAML”,不会存储持久状态 运行 make 测试 没有成功就无法测试 运行 make install Make 已返回错误状态,安装似乎不可能 凯特:~#

我搜索了谷歌,发现一个页面说你应该尽可能从 aptitude/apt-get/yum 安装包,所以我找到了一个名为 libyaml-perl 的包,标记为下载,它通过了.

然后我重新尝试了安装最新版本 CPAN 的初始命令...

CPAN-1.9402/t/50pod.t CPAN-1.9402/t/10version.t CPAN-1.9402/t/yaml_code.yml CPAN-1.9402/t/04clean_load.t CPAN-1.9402/自述文件 CPAN: File::Temp 加载正常 (v0.18) CPAN:YAML 加载正常(v0.66) CPAN.pm:将构建 A/AN/ANDK/CPAN-1.9402.tar.gz 将 PAUSE 公钥导入您的 GnuPG 钥匙串……完成! (您可能希望使用 'gpg --lsign-key 450F89EC' 在本地信任它) 检查您的套件是否完整... 看起来不错 为 CPAN 编写 Makefile ANDK/CPAN-1.9402.tar.gz 制作——不行 运行 make 测试 没有成功就无法测试 运行 make install Make 已返回错误状态,安装似乎不可能

不知道我现在应该做什么。有什么办法可以重置一切吗?也许我需要杀死它试图处理的文件,以便它可以尝试重新处理它或类似的东西?如果其他人除了弄清楚这是什么之外还有一般的 CPAN 提示,我将不胜感激。

  • 我是否以正确的方式安装了 yaml 包?
  • 我应该在 CPAN 内完成吗?
  • 我应该首先获得哪些正确的步骤或模块?

最终我需要为 foswiki 安装这些:

  • CGI::Session - 需要 Foswiki 的会话功能,这确实是必须的
  • 错误 - 如果您以后想开发插件,则需要。它也与 Foswiki 一起分发,但作者在构建插件的构建脚本方面遇到了很多麻烦,有时无法找到这个库。通过将其添加到站点 Perl 库中,您可以避免此类麻烦。
  • FreezeThaw - 其他模块使用的间接需要的模块。
  • GD - 由可以生成图形的插件使用,例如 Foswiki:Plugins.ChartPlugin。它要求安装 lib gd。如果您选择的安装不包括您只需要安装 rpms gd 和 gd-devel。它们都在 CD 或 DVD 上。
  • HTML::Tree - 一些流行插件需要
  • 一些流行的插件也需要时间模块(Time::CTime, Time::DaysInMonth, Time::JulianDay, Time::ParseDate, Time::Timezone)。

【问题讨论】:

  • 使用 apt-get 安装 GD.pm 或在使用 CPAN shell 安装之前安装 libgd-dev(或类似的东西)。

标签: perl debian cpan


【解决方案1】:

使用 debian 的包管理工具进行安装:参见 foswiki 网站上的instructions

99% 的时间都坚持使用特定于平台的包管理工具。否则,将 CPAN 配置为安装在单独的目录中(您可以将其添加到 $PERL5LIB)。

【讨论】:

  • 好的 - 我将 fosiki 添加到了我的 sources.list,更新、安装了 fosiki 和 apache2,它重新启动了服务器,现在我必须弄清楚该怎么做 - 我会让你知道它是怎么做的去。
【解决方案2】:
  1. 考虑使用 CPANPLUS(cpanp 脚本)而不是 CPAN。
  2. 考虑在安装其他任何东西之前先安装 YAML。
  3. 考虑将配置设置为遵循先决条件(即,当某些包需要当前缺少的其他模块时,它将继续安装其他模块 - 必要时递归安装)。

【讨论】:

  • 是否有通用的 YAML 包或者我是否安装了正确的 libyaml-perl?
【解决方案3】:

cpan shell 中的o conf make 说什么?你有make安装吗?

一般情况下,安装build-essential(在ubuntu中,所以Debian中应该也是),然后在cpan shell中执行o conf init

【讨论】:

    猜你喜欢
    • 2016-01-05
    • 1970-01-01
    • 2018-12-17
    • 2022-11-11
    • 2016-08-13
    • 1970-01-01
    • 2015-08-06
    • 2019-02-23
    • 1970-01-01
    相关资源
    最近更新 更多