【问题标题】:Module Installation errors when trying to use local::lib and CPAN尝试使用 local::lib 和 CPAN 时出现模块安装错误
【发布时间】:2013-07-11 23:19:22
【问题描述】:

我正在尝试使用local::lib,因为我没有系统管理员权限,我想下载并安装本地库。我跑了以下:

perl Makefile.PL --bootstrap

make test && make install

echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc

之后我尝试通过 cpan 下载模块 通过运行perl -MCPAN -e shell install netAddr::IP 但是当我运行我的程序时它给出了一个错误:

Can't locate NetAddr/IP.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at agha.pl line 8.
BEGIN failed--compilation aborted at agha.pl line 8.

我认为这意味着模块没有安装...所以我再次尝试通过 CPAN,但现在 给出了一个错误(这是在 Linux 中):

-bash-3.2$ perl -MCPAN -e shell

There seems to be running another CPAN process (pid 15611).  Contacting...
Other job is running.
You may want to kill it and delete the lockfile, maybe. On UNIX try:
kill 15611
rm /homes/ar312/.cpan/.lock

【问题讨论】:

  • 不代表没有安装该模块。这只是意味着您的脚本找不到它。你是如何运行你的脚本的。您是否修改了脚本以使其使用 loacal::lib?
  • 我应该做些什么改变。我目前正在使用
  • #!/usr/local/bin/perl
  • 请问我该怎么做。
  • 你能回答我的问题吗?也许修好你的 shift 键?

标签: perl perl-module cpan locallib


【解决方案1】:

来自local::lib documentation

在编写完你的 shell 配置文件后,一定要重新阅读它以将更改后的设置放入你当前的 shell 环境中。

你忘了这样做。

【讨论】:

    【解决方案2】:

    说真的,安装perlbrew可以为自己节省大量时间和麻烦。

    perlbrew 是一个在你的 $HOME 目录中管理多个 perl 安装的工具。它们是完全孤立的 perl 宇宙。这种方法有很多好处:

    • 不再需要运行 sudo 来安装 CPAN 模块。
    • 试用每月发布的新 perls。
    • 学习新的语言功能。
    • 针对不同的 perl 版本测试您的生产代码。
    • 别管供应商 perl(操作系统附带的那个)

    【讨论】:

    • 尽管它没有直接回答OP的问题,但这是一个绝对值得考虑的选项。
    猜你喜欢
    • 2017-12-11
    • 2017-04-13
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2011-04-29
    • 2020-05-06
    相关资源
    最近更新 更多