【发布时间】: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