【问题标题】:Npm command not found after launch build.sh file启动 build.sh 文件后找不到 Npm 命令
【发布时间】:2021-09-18 20:26:39
【问题描述】:

我安装了nvm,然后通过nvm install npm安装了npm。
Nvm 和 npm 已安装到我的主目录 ~/.nvm~/.npm。 是的,npm 命令在控制台中 ssh 连接上服务器的每个目录中都是正确的。
我还添加了 build.sh 文件,我在其中编写了 npm run prod 命令并将其添加到 post-receive git hook 中。

但是!当我向该服务器发送新提交时,我在控制台注释中看到“npm command not found”。 为什么????
毕竟在服务器上一切正常!

我也尝试将 ~/.npm 移动到 /usr/local/bin/ 但没有帮助。可能是因为 .npm 它是一个文件夹。我不知道...
我通过删除 .nvm.npm 文件夹并通过 sudo apt-get 安装 npm 解决了问题。我猜它自动在需要目录中添加了需要文件,以使 npm 命令全局可用。

尽管我用另一种方式解决了这个问题,但我想知道我在第一种方法中做错了什么,因为将来我可能需要 nvm。有linux经验的人能解释一下是什么问题吗?

【问题讨论】:

  • * 在 post-receive git hook 中添加了这个。* 您是否推送到您的服务器并期望服务器自动运行构建?如果是这样,git 服务器运行的用户是哪个用户,而你 SSH 的用户是哪个用户?
  • @ta.speot.is ,是的,就是这样。除了root,我没有注册其他用户。所有步骤都在root用户下

标签: node.js linux npm nvm git-post-receive


【解决方案1】:

确保安装npm 命令的绝对路径在您的PATH 变量中进行侦听,然后确保导出此变量以便您的build.sh 脚本可以看到新值并搜索npm 二进制文件。

echo $PATH
export PATH="/path/to/my/installation/:$PATH"
echo $PATH
./build.sh

【讨论】:

    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 2016-02-08
    • 2019-11-12
    • 2015-12-21
    • 2020-08-14
    • 1970-01-01
    • 2017-03-20
    • 2021-12-18
    相关资源
    最近更新 更多