模块:找不到命令

Sam*_*Sam 5 linux shell makefile environment-modules

我试图加载几个模块以在Linux上构建库,但被告知命令'module'不存在。我四处搜寻,发现解决方案是找到一个名为“模块”的目录,尽管进行了广泛搜索,但仍找不到该目录。

我不太确定应该做什么,将不胜感激(知道我正在使用的makefile使用csh而我的默认shell是bash时,可能会有所帮助)。谢谢!

Bae*_*sch 15

我试图重现它,结果证明是我采购的

source /etc/profile.d/modules.sh
Run Code Online (Sandbox Code Playgroud)

在 th.sh脚本中有助于bash和类似的。对于cshand tcsh,你必须添加

source /etc/profile.d/modules.csh
Run Code Online (Sandbox Code Playgroud)

到脚本。请注意,此行必须先出现,然后才是

module load foo
Run Code Online (Sandbox Code Playgroud)

线。


ica*_*pan 5

我来到这里是因为我正在寻找在 CentOS7 中安装多个 php 版本的方法,https://blog.remirepo.net/post/2019/05/22/PHP-7.4-as-Software-Collection是我的文章之一尝试遵循并遇到相同的“模块:找不到命令”问题。

通过命令获取 /etc/profile:

. /etc/profile

似乎使“模块加载”起作用。

归功于https://forums.fedoraforum.org/showthread.php?262708-module-command-not-found中的 fadishei

要使 php 版本(例如 php7.4)持续存在,请将以下内容附加到文件中/etc/profile.d/custom.sh

source /etc/profile.d/modules.sh
module load php74
Run Code Online (Sandbox Code Playgroud)

重新启动并运行php --version以交叉检查 php 7.4 是否是当前安装的版本。


bou*_*gui 1

我认为您必须将其放入脚本中来定义模块命令:

module () {
    eval `/usr/bin/modulecmd bash $*`
}
Run Code Online (Sandbox Code Playgroud)