How can I install local modules with the cpan tool?

女生的网名这么多〃 提交于 2019-11-30 15:41:32

If you want to install the Perl distribution in the current directory, use the dot instead of a filename:

 cpan .

If you are using one of the latest versions of the cpan program (not the one that currently comes with CPAN.pm), you can use the -j switch to specify an alternate configuration file where you can set the --install_base or INSTALL_BASE directives, and also set values for options like connect_to_internet_ok.

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

If you want to modify your current config to make your alternate config file, use -J to get the file text:

 cpan -J

Ideally, instead for giving you superuser priveleges, that sysadmin would have created a group for Perl admins, would have specified a directory for module installations owned by that group, and added you to that group. You wouldn't need any special powers then.

You don't actually need your admin to give you rights to install CPAN modules. In fact local::lib is a better solution for a number of reasons.

Mark Aufflick

sudo rights to cpan -i should do the trick:

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

I'm not familiar with installing from files via the cpan script. In the cpan shell you can look into the module directory and manually build/install from there if you want, but the original tar file still came from the repository, and the cpan command line doesn't seem to have that function (if it did I doubt the admin would grand sudo rights to it since then you'd have a root shell).

Update: brian d foy suggests that I'm wrong about giving sudo to the cpan command being the same as giving a root shell - here's why I'm right:

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# 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!