我需要在linux盒子里安装一些CPAN模块,我没有root权限.
安装Spreadsheet::WriteExcel
进行得相当顺利.但尝试安装File::Find::Rule
失败,警告"您没有安装到.....的权限",并提示"您可能必须su到root才能安装软件包"
我很困惑为什么有些CPAN模块安装需要root权限,而有些则不需要root权限?如果我真的想File::Find::Rule
在linux框中使用,我可以选择任何解决方案吗?
谢谢.
Cha*_*ens 13
您是否CPAN
已将该用户安装到您控制的目录中?
如果是这样,那么您可以运行使用Extutils::MakeMaker
(最旧和最常见的构建/安装系统)的模块之间的差异Module::Build
,和Module::Install
.他们都有点怪癖.
这就是local::lib
创建的原因.一旦你安装并安装它,你就不必再担心它了(除了那些想要把东西写到特定地方的流氓模块,即使它们被告知不要).
来自perlfaq8:
构建模块时,请告诉Perl在哪里安装模块.
对于基于Makefile.PL的发行版,在生成Makefile时使用INSTALL_BASE选项:
perl Makefile.PL INSTALL_BASE=/mydir/perl
Run Code Online (Sandbox Code Playgroud)
您可以在CPAN.pm配置中进行设置,以便在使用CPAN.pm shell时模块自动安装在您的私有库目录中:
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit
Run Code Online (Sandbox Code Playgroud)
对于基于Build.PL的发行版,请使用--install_base选项:
perl Build.PL --install_base /mydir/perl
Run Code Online (Sandbox Code Playgroud)
您可以配置CPAN.pm以自动使用此选项:
% cpan
cpan> o conf mbuild_arg --install_base /mydir/perl
cpan> o conf commit
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6475 次 |
最近记录: |