如何在不安装新Perl的情况下安装或升级最新Perl中的CPAN模块?

时间:2009-10-09 21:41:56

标签: perl installer distribution cpan perl-module

我想安装一个Perl模块(在本例中为FindBin),但由于它包含在Perl 5.10.1 distribution中,cpan想要为我安装Perl 5.10。有没有办法通过cpan安装模块?

我能看到的唯一选项是installing directly from source,由于没有单独的包(例如,Makefile.PL等),这似乎有点粗糙,只有裸.pm文件。

由于这是一个只有一个文件的小模块,在这种情况下它是可行的,但如果我想安装一个更大的包呢?

编辑:这与原始问题有些不同,但是谈到使用Perl发行版打包的模块的一般问题:我发现“独立”FindBin(version 1.49)有一个语法错误,所以我从Perl 5.10.1发行版中检索了version 1.50 ...但是由于模块现在作为Perl 5.10的一部分在CPAN上列出,我无法找到描述此delta中更改/修复内容的CHANGES文件。我是否应该进入开发者存储库来提取这些信息是否合理?)


编辑2.好的,这是一个更好的例子。在Perl 5.8.8上我有1.04版本的Carp。但是,我看到Perl 5.10.1与1.11版打包在一起。有没有办法让CPAN为我安装最新版本的Carp而不会拖延所有Perl 5.10.1?我甚至找不到CPAN上Carp模块的链接,除了perl 5.10.1 installation

2 个答案:

答案 0 :(得分:3)

> corelist FindBin

FindBin was first released with perl 5.00307

您使用哪个版本的Perl不包含FindBin?如果您至少使用Perl 5.6.0(以前的所有版本都被认为已弃用),则无需安装FindBin。如果你有更旧的东西,我建议升级到5.6.2 / 5.8.9 / 5.10.1。

Kurila不是一个“独立”的FindBin,它是Perl的一种方言。 FindBin不是双重生活,只与Perl捆绑发布。您可以考虑将FindBin作为独立发行版发布到CPAN - 如果您以前使用过ExtUtils :: MakeMaker,这很容易。

FindBin的最新有用变化发生在2007-04-28,与VMS有关。最新有用的非VMS变更发生在2006-10-25。

答案 1 :(得分:1)

你可以尝试的事情包括

  • 将FindBin.pm放入与可执行文件相同的目录中并使用use FindBin
  • 将FindBin.pm放入Perl库目录
  • 在脚本中使用模块的源代码