我想知道您是否有在 Debian 系统上管理 perl 模块的方法,具体如下:
- 安装新模块
- 手动安装的模块列表
- 检查依赖项并卸载模块
我查看了这篇 perlmonks 文章作为背景阅读:在 Debian 上安装 CPAN 模块的最佳方法是什么?
我以前使用 CPAN 模块安装过 perl 模块。在按照说明构建具有 perl 依赖项的其他软件包时,我有时也使用过 dh-make-perl。
我想在我的计算机上制定一个连贯的策略,以便更好地管理模块的安装方式和位置,并减少在我的系统上破坏 perl 的可能性。我非常希望有一个可以检测和卸载不再使用的模块的系统。
答案1
如果对所有包使用apt-get
和,将会找到没有任何依赖项的 perl 包,然后您可以删除它们并再次迭代运行它。有一个保留列表,您可以将正在使用的包添加到其中,它们将不会显示出来。dh-make-perl
deborphan --guess-perl
deborphan
因此,要使此操作有效,您必须卸载通过 CPAN 安装的所有模块,然后使用 重新安装它们dh-make-perl
。可以通过在 的输出中查找“存档中没有可用版本”来检测手动安装的模块apt-show-versions libsome-module-perl
。
答案2
我使用apt-get
安装大多数模块。如果模块不在存储库中(或者我需要模块的最新版本),我会使用 安装该模块到我的主目录中cpan
。使用local::lib
模块。从 CPAN 下载 tarball,解压缩,进入目录,然后输入
perl Makefile.pl --bootstrap
make
make test
如果任何步骤失败,请在此处提问。如果所有步骤都成功,则输入
make install
然后,您将需要将以下行添加到您使用的任何配置文件中(例如~/.profile
,~/.bash_profile
等等):
eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
注销并重新登录(在当前终端运行该命令),然后输入
cpan
它会询问您是否要自动配置 CPAN,请回答是。完成后,您应该能够将模块安装到名为的目录中,~/perl5
如下所示
cpan Module::Name
您在配置文件中输入的行设置了变量PERL5LIB
,因此程序将能够找到您安装的模块。它将~/perl5
目录放在系统目录之前,因此如果您通过 安装了 Foo 的 1.0 版本,apt-get
并通过 安装了 Foo 的 2.0 版本,则将加载CPAN
该版本。CPAN
答案3
不要管 Debian 的 Perl,而要安装使用 cpan 管理的第二个 Perl:
https://stackoverflow.com/questions/398221/how-do-you-manage-perl-modules-on-linux
答案4
根据模块,我确信您可以使用 apt-get 命令来安装一些更常见的模块。
apt-get install perl5-crypt(可能是 p5-crypt - 已经有一段时间了)。
这很大程度上取决于需要什么模块,其中许多模块不在 apt 包中。