我已经为Mysql和DBI安装了Perl模块,但是由于我在当前版本中遇到的bug,我想将它们降级到较旧的版本。是否可以使用cpan将这些版本降级到较旧的版本?我该怎么做呢?
发布于 2019-11-19 02:06:19
要强制安装特定版本的模块,您可以执行以下命令;假设您拥有编译和测试所需的所有工具链:
perl -MCPAN -e shell
cpan[1]> force install TIMB/DBI-1.642.tar.gz # assuming 1.642
cpan[2]> force install DVEEDEN/DBD-mysql-4.050.tar.gz # assuming 4.050如果您使用CPAN::FindDependencies,那么您可以找到依赖于DBI和DBD::mysql的模块并执行它们的测试。
您需要注意每个模块的强制安装的执行情况,因为测试可能会失败。比方说,如果较旧的DBI的测试失败(或其依赖项),那么您必须决定要失败的测试:DBI、DBI的依赖项或您的应用程序。寻找一个适用于整个环境的旧版本可能会比它的价值更麻烦。尝试解决DBI (或DBD::mysql)问题可能比尝试找到适用于整个perl环境的旧版本更容易。如果旧的DBI有您没有遇到的依赖,那么满足它们可能会导致递归依赖的噩梦。
发布于 2019-11-19 01:37:58
从理论上讲,应该可以使用cpanm --uninstall删除它们,然后从BackPan http://backpan.cpantesters.org/安装旧版本。但是你永远不会知道依赖链中发生了什么。
https://stackoverflow.com/questions/58918219
复制相似问题