【发布时间】:2019-12-29 19:17:49
【问题描述】:
我已经按照here 的描述安装了nodejs。
当我自己 ssh 到服务器时,一切正常。但是我创建了一个脚本来部署我的应用程序并通过 bitbucket 管道调用它。除了npm install,其他一切都正常(composer install、php artisan migrate 等)。错误信息是
./deploy: line 26: npm: command not found
在 bitbucket-pipelines.yml 我这样调用我的脚本:
- step:
script:
- ssh user@ip_address ./deploy
当我自己调用脚本时,一切正常。问题仅在于 bitbucket 管道。我不知道为什么会这样:(。
【问题讨论】:
-
./deploy是您自己的自定义脚本吗?另外,当您手动对远程机器执行ssh时,您会运行什么命令? -
好的。我很想知道您使用什么确切的命令连接到那台机器,而不是你在连接到那台机器之后运行的命令。
-
请看,当您使用与安装二进制文件的用户不同的用户运行命令时,会发生找不到二进制文件的此类问题(在您的情况下为
npm)。为了更清楚起见,bitbucket-pipelines.yml中的ssh命令中使用的用户,即ssh user@ip_address ./deploy应该与使用 PuTTY 时用于连接的用户相同。 -
尝试在该用户的
~/.bashrc文件中配置npm的路径
标签: node.js ssh bitbucket bitbucket-pipelines