【问题标题】:Weird error when trying to install a module using cpan on a RedHat尝试在 RedHat 上使用 cpan 安装模块时出现奇怪的错误
【发布时间】:2017-12-11 22:12:50
【问题描述】:

当我尝试使用 cpan 在 RedHat 7.3 上安装任何模块时,我收到了这条奇怪的消息 - “make: execvp: true: Permission denied”:

sudo cpan
cpan[1]> install Log::Log4perl
...
(tests run ok)
...
Running make install
make: execvp: true: Permission denied
make: *** [blibdirs] Error 127
  MSCHILLI/Log-Log4perl-1.49.tar.gz
  sudo /bin/make install  -- NOT OK
Failed during this command:
 MSCHILLI/Log-Log4perl-1.49.tar.gz            : install NO

然后,如果我导航到 cpans build_dir(来自 MyConfig.pm),找到包含此模块的文件夹,然后在那里运行 make test; sudo make install - 一切正常。

cpan 有什么问题?如何解决这个问题?

【问题讨论】:

    标签: perl redhat cpan


    【解决方案1】:

    如果您将模块安装到系统库中,您可能可以通过安装预构建的 RPM 包来为自己省去很多麻烦。

    $ sudo yum install perl-Log-Log4perl
    

    【讨论】:

    • 对于Log::Log4perl 这将起作用,但并非每个模块都作为 RPM 提供。例如,对于sudo yum install Text::Xslate,遗憾的是,这不起作用(至少在我的配置中)。
    • @Basil 你的问题不是关于Text::Xslate
    • perl-Text-Xslate 存在于某些 CentOS 存储库中。
    【解决方案2】:

    make: execvp: foo: Permission denied happens foo 是一些没有执行权限的程序。在你的$PATH 中找到true 程序(通常是/bin/true/usr/bin/true,但如果你有一个特殊的$PATH,也许还有另一个),并确保你有它的执行权限。

    【讨论】:

    • sudo which true -> /bin/true; sudo ls -ld /bin/true -> -rwxr-xr-x。嗯,看来我确实有它的执行权限。
    猜你喜欢
    • 2013-07-11
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多