使用perl写的软件时,总会出现模块没有安装的报错或者调用的报错,本文就总结一下相关的情况, 之后遇见的相关报错也会持续更新加进来
1.软件自带自己写的module, 并在主程序中调用了自己写的module
例如我在使用mireap这个软件的时候,它的目录结构是 bin文件夹下是mireap.pl主程序,lib文件夹里存放了它自己写的三个模块: FFW1.pm , FFW2.pm , Struct.pm
如果想要主程序mireap.pl 调用这三个模块 有两个方法:
(1) 将lib下的这三个模块全部放到bin文件夹里,保证调用模块的主程序和模块在同一个目录下
(2) 或者 在主程序中指定Perl模块的目录
use lib "模块所在目录"
- 参考: https://www.cnblogs.com/xudongliang/p/5063624.html
2.软件默认调用系统自带的Perl,而所安装的模块在另一个版本的perl上
打开perl程序,一般第一行指定了Perl调用的位置, 所以如果想指定perl软件调用我们指定的另一个版本的perl, 在第一行更改即可
#!/usr/bin/perl
# Reap microRNAs from deeply sequenced small RNA library
use strict;
use FFW1;
use FFW2;
use Struct;
use Getopt::Std;
例如这里的 #!/usr/bin/perl
就可以改成 #!/home/yjxiang/miniconda3/bin/perl