我听说最好不要安装CPAN系统的Perl版本的模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将CPAN与系统的核心Perl分开。
我应该:
下载源代码并专门为这些模块创建一个目录?
任何人都有他们成功使用的任何其他想法或实施?
我正在使用Arch Linux和Perl 5.16.2。
答案 0 :(得分:5)
您是否正在寻找local::lib
local :: lib - 使用PERL5LIB创建并使用本地lib / for perl模块
答案 1 :(得分:3)
下载并摘录最新版本的local::lib
:
curl -LO http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xzf local-lib-1.008004.tar.gz
cd local-lib-1.008004/
部署它:
perl Makefile.PL --bootstrap=$HOME/perl5
make
make test
make install
保存持久配置:
cat << PROFILE >> $HOME/.profile
eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib)
PROFILE
现在,您可以注销/登录会话,或只是source ~/.profile
。
完成这些步骤后,CPAN模块将在本地安装。
答案 2 :(得分:3)
您无需手动安装模块。您只需要在某处安装它,并将您的环境配置为在那里安装它。然后你可以正常使用cpan / cpanp / cpanm / etc。 (cpan减去我的胜利)
手动设置该环境有点痛苦,因此大多数人使用应用程序为它们设置配置。
这两个主要选择是:
local::lib
- 这会设置您的环境变量,以便您可以远离系统perl安装模块,但继续使用系统perl。
Perlbrew - 这将为您安装一个完整的perl,因此可以让您完全避免使用perl系统,并使用更新的perl版本,然后可能随系统一起提供。它还可以并排管理多个perl安装(因此您可以针对不同版本的perl测试您的模块)。
就个人而言,我更喜欢Perlbrew(因为它可以很容易地玩yada yada运算符和智能匹配等闪亮的新功能(现在不是那么聪明的匹配)但是设置需要更长的时间(因为你有编译perl)。
答案 3 :(得分:1)
我听说最好不要安装CPAN系统的Perl版本的模块。
我们的想法是通过升级他们使用的模块来避免破坏你的发行版工具。
将模块安装到一个新目录并使用PERL5LIB
告诉Perl它(这是前面提到的install :: lib所做的)在这种情况下根本不会有任何帮助,因为Perl看到了完全相同的东西好像您已经将模块安装在通常的site
目录中。
(当一个人没有安装到默认目录的权限时,主要使用PERL5LIB来安装模块。)
使用Perl系统的另一个问题是您无法升级它。
两者的解决方案是安装自己的Perl版本。使用perlbrew
非常容易。
答案 4 :(得分:0)
cpanminus是什么? CPAN minus module
答案 5 :(得分:-2)
为什么不将模块打包成真正的软件包,rpm或dep风格?这样您就可以控制已安装的软件,您可以根据需要随意删除和更新软件包。所以,不要绕过管理,这很少是一个好主意,你保持控制。
如果您使用的是基于rpm的发行版,我建议您OBS执行此任务。您可以创建自己的项目,配置源代码,测试它们,并为各种分发和体系结构创建包。当您将家庭项目存储库导入软件管理时,只需单击一下即可安装软件包。