安装最新的Bundle :: CPAN后,我意识到某些遗留代码不会在最新版本中运行。我希望删除(而不仅仅是取消链接)这个最新版本并恢复使用旧版本。我怎么能这样做?
答案 0 :(得分:4)
Perl和CPAN.pm有一种方法可以回到安装更高版本模块之前的状态。请参阅How can I de-install a Perl module installed via cpan
?。
但是,下次您可以解决此问题。
以下是我的建议:
如果您可以找出导致问题的模块,请将它们安装在不同的目录中并调整@INC
以使用这些目录。在您找到所需的模块版本之前,请执行此操作。
当您找出所需的发行版时,请从CPAN或BackPAN中获取这些发行版。在本地保留发行版,并使用这些发行版设置自己的MiniCPAN。由于CPAN具有仅跟踪任何发行版的最新版本的设计功能,因此您希望本地MiniCPAN假装较旧的发行版是最新版本。这就是我创建MyCPAN::App::DPAN的原因。我在Manage multiple MiniCPANs, and version them
还有Pinto和Stratopan,它们像您的私有CPAN类资源库一样提供源代码控制。如果你得到一些你不喜欢的东西就会回滚。
修复问题后,将Perl库放入源代码管理中,以便始终回滚安装。请参阅Manage your Perl modules with git。
制定安装和测试政策,在您知道一切正常之前不要打扰任何事情。部分原因是在主Perl库目录之外测试新安装。如果您认为自己满意,那么您可以安装到这些目录中。
答案 1 :(得分:-1)
最简单的方法是访问metacpan。 搜索您的模块。在您的情况下Bundle::CPAN。
然后,您必须通过单击模块名称左侧的箭头选择要安装的模块的相关版本:
从下拉列表中单击所需的版本后,您可以下载它,或者只是例如:
cpanm http://cpan.metacpan.org/authors/id/A/AN/ANDK/Bundle-CPAN-1.861.tar.gz
希望有所帮助