[英]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_base
或INSTALL_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.