我已经从源代码安装了Perl到/ usr/local,并相应调整了我的路径,遵循brian d foy的建议.
我确定我错过了一些东西,但是,现在我正在尝试用'cpan'命令安装东西而且它失败了,因为它无法写入/ usr/local.我必须使用sudo,这对我来说感觉不对.CPAN的东西应该去另一个地方吗?必须使用sudo是正常的吗?
Tel*_*hus 11
如果它真的让您烦恼sudo,可以local::lib在主目录中使用和安装模块 - 您不需要超级用户权限.
也就是说,它不应该打扰你使用sudo.这没有什么不妥.正如Gbacon所说,如果你想安装,你需要它,/usr/local因为系统上的所有用户/usr/local共享(因此它的权限反映了这一点):
telemachus ~ $ ls -ld /usr/local/
drwxr-xr-x 17 root wheel 578 Jan 8 20:00 /usr/local/
该/usr/local树已被保护.在sudo那里使用安装软件是完全正常的.
安装到单独的库位置是一个常见问题.请参阅"如何保留自己的模块/库目录?" 在第8节.
主要摘录:
您可以在
CPAN.pm配置中进行设置,以便在使用CPAN.pmshell 时模块自动安装在您的私有库目录中:Run Code Online (Sandbox Code Playgroud)% cpan cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl cpan> o conf commit对于
Build.PL基于发行版的发行版,请使用--install_base选项:Run Code Online (Sandbox Code Playgroud)perl Build.PL --install_base /mydir/perl您也可以配置
CPAN.pm为自动使用此选项:Run Code Online (Sandbox Code Playgroud)% cpan cpan> o conf mbuild_arg "--install_base /mydir/perl" cpan> o conf commit
将在/ usr /本地目录不应该是由一个普通用户可写的,但UNIX安装有许多功能来处理这个问题.
在我的建议中,我建议设置/ usr/local/perls.您可以为该目录提供您喜欢的任何权限.不要将任何权限应用于您需要的更多目录.
我建议设置一个perl组,将自己添加到该组,并使Perl库目录组可写.设置完成后,您不必使用sudo,因为您拥有组权限.
除此之外,您可以调整CPAN.pm配置以sudo在安装阶段使用.查看文档中的命令make_install_make_command和mbuild_install_build_command命令.只需搜索"sudo",你就会找到它们.
祝好运, :)
在您的CPAN shell中,将其配置为在sudo下运行make和执行build步骤:
o conf make_install_make_command 'sudo make'
o conf mbuild_install_build_command 'sudo ./Build'
o conf commit
quit
Run Code Online (Sandbox Code Playgroud)
(我在这里找到了这些- 我不是CPAN大师.)
| 归档时间: |
|
| 查看次数: |
5053 次 |
| 最近记录: |