2017-07-07 95 views
0

当我试图安装使用cpan上的RedHat 7.3的任何模块,我得到这个奇怪的消息 - “make: execvp: true: Permission denied”:奇怪的错误尝试在RedHat的安装使用CPAN模块时

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?这可以如何解决?

回答

3

如果您将模块安装到系统库中,则可以通过安装预生成RPM软件包来节省相当大的痛苦。

$ sudo yum install perl-Log-Log4perl 
+0

对于'Log :: Log4perl'这可以工作,但不是每个模块都以RPM的形式提供。例如,对于'sudo yum install Text :: Xslate',可悲的是,这将不起作用(至少在我的配置中)。 – Basil

+3

@Basil你的问题不是关于'Text :: Xslate'。 – stevieb

+1

'perl-Text-Xslate'存在于某些CentOS回购站中。 –

3

make: execvp: foo: Permission deniedhappensfoo是一些程序,不具有执行权限。在您的$PATH中找到true程序(通常为/bin/true/usr/bin/true,但如果您有特殊的$PATH,可能还有另一个),并确保您拥有执行权限。

+0

'sudo which true' - >'/ bin/true'; 'sudo ls -ld/bin/true' - >'-rwxr-xr-x'。嗯,似乎我有执行权限。 – Basil