我想知道您是否有管理 Debian 系统上的 perl 模块的方法,涉及以下方面:
我查看了这篇 perlmonks 文章作为背景阅读:在 Debian 上安装 CPAN 模块的最佳方法是什么?
我以前使用 CPAN 模块安装了 perl 模块。在某些情况下,我也使用了 dh-make-perl,当按照说明构建其他具有 perl 依赖项的包时。
我想在我的机器上制定一个连贯的策略,这样我就可以更好地管理模块的安装方式和位置,并减少在我的系统上破坏 perl 的机会。我非常喜欢一个可以检测和卸载不再使用的模块的系统。
如果您对所有包使用apt-getand dh-make-perl,deborphan --guess-perl将找到没有任何依赖项的 perl 包,然后您可以删除并迭代地再次运行它。deborphan有一个保留列表,您可以将您正在使用的列表添加到其中,并且它们不会显示。
因此,要完成这项工作,您必须卸载通过 CPAN 安装的所有模块,然后使用dh-make-perl. 手动安装的模块可以通过在apt-show-versions libsome-module-perl.
我apt-get用来安装大多数模块。如果模块不在其中一个存储库中(或者如果我需要模块的后一版本),我会将该模块安装到我的主目录中cpan。local::lib模块使这更容易。从 CPAN 下载 tarball,解压,将目录切换到其中,然后键入
perl Makefile.pl --bootstrap
make
make test
Run Code Online (Sandbox Code Playgroud)
如果这些步骤中的任何一个失败,请在此处提问。如果所有步骤都成功,则键入
make install
Run Code Online (Sandbox Code Playgroud)
然后,您将需要将以下行添加到您使用任何配置文件(如~/.profile,~/.bash_profile等):
eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)
Run Code Online (Sandbox Code Playgroud)
注销并重新登录(在当前终端中运行该命令),然后键入
cpan
Run Code Online (Sandbox Code Playgroud)
它应该询问您是否要自动配置 CPAN,回答是。当它完成,你应该能够模块安装到指定的目录~/perl5,说
cpan Module::Name
Run Code Online (Sandbox Code Playgroud)
您在配置文件中放置的行设置了PERL5LIB变量,因此程序将能够找到您安装的模块。它将~/perl5目录放在系统目录之前,因此如果您安装了 1.0 版的 Fooapt-get和安装了2.0 版的 Foo CPAN,CPAN将加载该版本。
| 归档时间: |
|
| 查看次数: |
4735 次 |
| 最近记录: |