我正在尝试在 Google Colab(Ubuntu 环境)中安装和加载几个 Perl 模块。我正在使用 CPAN 安装它们,然后使用Environment Modules加载它们。我绝对需要使用环境模块来加载它们(例如,我的脚本运行的命令之一是module load Perl
),但如果有更好的选择,我不需要使用 CPAN 来安装它们。
首先我用 CPAN 安装了 Perl 模块:
PERL_MM_USE_DEFAULT=1 cpan GD ExtUtils::PkgConfig DBI DBD::mysql DBD::SQLite Capture::Tiny Exporter Log::Message::Simple Getopt::Long \
List::Util List::MoreUtils IO::File XML::Writer XML::LibXML XML::Parser XML::LibXML::Reader \
Data::Dumper File::Slurp JSON Storable Scalar::Util Array::Utils Config::IniFiles \
Statistics::Descriptive GD::Graph::boxplot
然后,跑步perldoc perllocal
给了我以下信息:
Tue Jul 28 01:16:13 2020: "Module" App::cpanminus
* "installed into: /usr/local/share/perl/5.26.1"
* "LINKTYPE: dynamic"
* "VERSION: 1.7044"
* "EXE_FILES: bin/cpanm"
Tue Jul 28 01:16:30 2020: "Module" Net::SSLeay
* "installed into: /usr/local/share/perl/5.26.1"
* "LINKTYPE: dynamic"
* "VERSION: 1.88"
* "EXE_FILES: "
Tue Jul 28 01:16:32 2020: "Module" Mozilla::CA
* "installed into: /usr/local/share/perl/5.26.1"
* "LINKTYPE: dynamic"
* "VERSION: 20200520"
* "EXE_FILES: "
...
但是,当我运行source /etc/profile.d/modules.sh && module avail
列出可用于加载的模块时,我刚刚安装的模块没有显示,我只得到以下信息(不知道为什么相同的东西打印两次):
------------------------ /usr/share/modules/modulefiles ------------------------
dot module-git module-info modules null use.own
------------------------ /usr/share/modules/modulefiles ------------------------
dot module-git module-info modules null use.own
所以我想我需要添加/usr/local/share/perl/5.26.1
到modulepath
它以找到已安装的模块。但是当我尝试这样做module use --append /usr/local/share/perl/5.26.1
然后module avail
再次运行时,我得到与上面相同的输出,表明该目录尚未添加。