Ubuntu20.04运行unitas已安装LWP::Simple等Perl模块仍提示缺失
问题原因与解决方法
根本原因
你当前使用的是miniconda3自带的Perl环境(可执行文件路径为/home/stewart/miniconda3/bin/perl),而你使用sudo cpan安装模块时,模块会被安装到root用户对应的Perl库路径下,该路径不在当前普通用户miniconda3 Perl的@INC搜索列表里,因此运行程序时无法识别到已安装的模块。
服务器硬重启后问题触发,大概率是重启后conda环境被自动激活,默认Perl从系统版本切换为了conda内的版本,此前安装在系统Perl中的模块自然无法被识别。
解决方法
方法1:使用当前用户的cpan安装模块
不要加sudo,直接运行以下命令,模块会被安装到miniconda3对应的Perl库目录中,符合@INC搜索规则:
cpan install LWP::Simple Archive::Extract
方法2:通过conda安装预编译模块(更适配conda环境,推荐)
直接从bioconda源安装对应Perl模块,避免编译等问题:
conda install -c bioconda perl-lwp-simple perl-archive-extract
验证安装
安装完成后执行以下命令,无报错且输出ok即为安装成功:
perl -MLWP::Simple -e 'print "ok\n"' perl -MArchive::Extract -e 'print "ok\n"'
内容的提问来源于stack exchange,提问作者Stewart Russell
相关产品推荐
相关产品推荐

