gpt4 book ai didi

perl - 如何在没有 root 访问权限的情况下在本地安装 CPAN 模块(DynaLoader.pm 第 229 行错误)?

转载 作者:行者123 更新时间:2023-12-04 06:30:16 24 4
gpt4 key购买 nike

不适用于其他模块,但举个例子。我使用 CPAN 设置安装了 Text::CSV_XS:

'makepl_arg' => q[PREFIX=~/lib],

当我尝试运行 test.pl 脚本时:

$ perl test.pl


#!/usr/bin/perl

use lib "/homes/foobar/lib/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi";

use Text::CSV_XS;

print "test";

我明白了
Can't load '/homes/foobar/lib/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Text/CSV_XS/CSV_XS.so' for module Text::CSV_XS: /homes/foobar/lib/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Text/CSV_XS/CSV_XS.so: cannot open shared object file: No such file or directory at /www/common/perl/lib/5.8.2/i686-linux/DynaLoader.pm line 229.at test.pl line 6Compilation failed in require at test.pl line 6.BEGIN failed--compilation aborted at test.pl line 6.

I traced the error back to DynaLoader.pm it happens at this line:

# Many dynamic extension loading problems will appear to come from
# this section of code: XYZ failed at line 123 of DynaLoader.pm.
# Often these errors are actually occurring in the initialisation
# C code of the extension XS file. Perl reports the error as being
# in this perl code simply because this was the last perl code
# it executed.

my $libref = dl_load_file($file, $module->dl_load_flags) or
croak("Can't load '$file' for module $module: ".dl_error());

CSV_XS.so 存在于上述目录中

最佳答案

当你安装模块时,你看输出了吗?它在哪里说它安装了模块?在库中查找。你看到你期望的下一个目录了吗?
查看 ~/lib 以查看所有内容的最终位置,以验证您的 use lib 中的目录名称是否正确。陈述:

% find ~/lib -name CSV_XS.so
一旦你看到它的安装位置,在你的 use lib 中使用那个目录名。 (或 PERL5LIB 或其他)。
我希望你有一个 lib/lib不知何故在那里。 PREFIX只是前缀,安装程序会将其他目录部分附加到该基本路径。这包括 lib、man、bin 等。

关于perl - 如何在没有 root 访问权限的情况下在本地安装 CPAN 模块(DynaLoader.pm 第 229 行错误)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com