我正在考虑将Perl作为初学者。我想尝试一些CPAN模块。 当我在我的Osx控制台上运行安装命令时,CPAN会要求使用以下语句进行配置:
要安装模块,您需要配置本地Perl库 目录或升级您的权限。 CPAN可以帮助您 引导local :: lib模块或配置自己使用 '须藤' (如果可供使用的话)。如果,您也可以手动解决此问题 你需要自定义你的设置。
你想要什么方法? (选择' local :: lib',' sudo'或'手册')
local::lib
和sudo
选项之间有什么区别?
如果我理解得很好,它会在我的计算机上本地安装一些模块。但我发现上面两个配置之间没有任何区别。
答案 0 :(得分:9)
如果您使用sudo,CPAN将使用root将库安装在一个中央位置,在该位置,计算机上的所有用户都可以访问这些文件而无需任何特殊配置。如果使用'local :: lib',它将在您的主目录中创建一个库并安装这些模块,以便只有已配置为在主目录中查找模块的perl程序才能找到这些模块。
Perl使用特殊变量@INC
来搜索模块路径。因此,只要在使用@INC
之前正确设置@INC
,就可以在任何地方安装模块。本文介绍了基础知识。
http://www.symkat.com/find-a-perl-modules-path
你可以用{{1}}做各种有趣的事情;我最喜欢的一个黑客它将函数指针放在那里并使用自定义perl代码来查找模块。
答案 1 :(得分:3)
好问题。使用local::lib
时,可以通过CPAN
特定用户在给定目录中安装模块。假设您选择sudo
作为方法,则安装Modules global。
就像通过Node.js
安装npm
一样。当您使用npm install -g <Modul>
安装模块时,它的全局安装,您可以在任何地方使用它。但是没有那个-g
标志,它只在你当前目录中可用。
除了您选择安装CPAN
模块的默认方式之外,它大致相同。