繁体   English   中英

如何使用cpan工具安装本地模块?

[英]How can I install local modules with the cpan tool?

我的管理员给了我sudo的权利

cpan

我还需要在全局PERL5LIB上安装几个非CPAN模块(Atlassian Crowd - > svn连接器)。

我依稀记得cpan可以从本地安装,而无需从网络上拔出模块。

任何指针? 我可以这样做,还是应该让他以root身份手动安装这些模块(这对我来说是一个很大的麻烦)? 谢谢!

如果要在当前目录中安装Perl发行版,请使用点而不是文件名:

 cpan .

如果您使用的是最新版本的cpan程序(不是当前CPAN.pm附带的程序),则可以使用-j开关指定备用配置文件,您可以在其中设置--install_baseINSTALL_BASE指令,还为connect_to_internet_ok选项设置值。

 cpan -j /path/to/Config.pm Foo::Bar

如果要修改当前配置以生成备用配置文件,请使用-J获取文件文本:

 cpan -J

理想情况下,系统管理员可以为Perl管理员创建一个组,而不是为您提供超级用户权限,为该组拥有的模块安装指定一个目录,并将您添加到该组。 那时你不需要任何特殊的权力。

cpan -i sudo权利应该做的伎俩:

bash-3.2$ cpan -i Foo::Bar
CPAN: File::HomeDir loaded ok (v0.80)
CPAN: Storable loaded ok (v2.18)
...

我不熟悉通过cpan脚本从文件安装。 在cpan shell中,您可以look模块目录并根据需要手动构建/安装,但原始tar文件仍然来自存储库,并且cpan命令行似乎没有该功能(如果它我怀疑管理员是否会拥有盛大的sudo权利,因为那时你有一个root shell)。

更新:brian d foy建议我给cap命令提供sudo与给root shell一样是错的 - 这就是为什么我是对的:

bash-3.2# whoami
aufflick
bash-3.2# sudo cpan
cpan[1]> o conf shell bash
cpan[2]> look Acme::Bleach
..... downloads and extracts Acme::Bleach ...
CPAN: File::Temp loaded ok (v0.18)
Working directory is /Users/aufflick/.cpan/build/Acme-Bleach-1.12-v768Dv
bash-3.2# whoami
root
bash-3.2# 

您实际上并不需要管理员授予您安装CPAN模块的权限。 事实上, local :: lib是一个更好的解决方案,原因有很多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM