【问题标题】:module: command not found模块:找不到命令
【发布时间】:2010-02-13 14:27:47
【问题描述】:

我正在尝试加载几个模块以在 Linux 上构建库,但被告知命令“模块”不存在。我在 Google 上四处搜索,发现解决方案是获取一个名为“模块”的目录,尽管进行了大量搜索,但我无法找到该目录。

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

【问题讨论】:

  • 请发布一些代码示例,可能是您的 Makefile 的一部分。以及您收到的任何错误消息
  • 你能试试运行“哪个模块”,可能是 $PATH 没有名为模块的命令/脚本
  • 指定您要构建的库也可能会有所帮助。

标签: linux shell makefile environment-modules


【解决方案1】:

我试图复制它,结果证明是我采购的

source /etc/profile.d/modules.sh

.sh 脚本中对bash 和类似的有帮助。对于cshtcsh,您必须添加

source /etc/profile.d/modules.csh

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

module load foo

行。

【讨论】:

    【解决方案2】:

    我在寻找在 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-foundfadishei

    要使php的版本(例如php7.4)保持不变,请将以下内容附加到文件/etc/profile.d/custom.sh

    source /etc/profile.d/modules.sh
    module load php74
    

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

    【讨论】:

      【解决方案3】:

      我认为你必须把它放在你的脚本中来定义模块命令:

      module () {
          eval `/usr/bin/modulecmd bash $*`
      }
      

      【讨论】:

        【解决方案4】:

        这对我有用

        #!/bin/bash -i // it will make this interactive
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-30
          • 1970-01-01
          • 2015-06-09
          • 1970-01-01
          • 1970-01-01
          • 2013-03-08
          • 2016-03-29
          相关资源
          最近更新 更多