【发布时间】:2021-03-30 13:28:54
【问题描述】:
我在 SO 上发现了很多类似的问题,但遗憾的是它们与我的问题无关。
我已经用 NVM 安装了 Node。
$ node -v
v14.16.0
$ npm -v
7.7.6
$ npx -v
7.7.6
我正在编写一个部署脚本,它将从我们的存储库运行 git pull,然后(除其他外)编译资产。如果这有帮助,工作环境是 Laravel 8,但我认为这与我的问题无关。
以远程服务器上的用户身份登录时运行npm install && npm run prod 将完美运行。但是通过 SSH 运行相同的命令会返回以下内容:
jaeger@local-computer~$ ssh deploy@distant-server-with-nvm-node-npm-npx '/bin/sh -c "node -v && npm -v && npx -v && exit"'
Connecting...
v14.16.0
7.7.6
/bin/sh: 1: npx: not found
所以...我迷路了。我见过关于 node 和/或 npm 被识别的问题,但没有关于 npx 的问题,我需要它与 Laravel 混合。当然,从远程服务运行上述注释将完美运行。
我尝试了什么:
- 将
PermitUserEnvironment yes添加到/etc/ssh/sshd_config,然后重启ssh - 通过
npm i -g npx全局安装npx,被nvm拒绝,说明npx已经存在。 - 重新安装 nvm 和节点。
- 在
/home/myuser/.nvm/versions/v14.16.0/bin/npx和/usr/local/bin之间创建符号链接
我还能尝试什么?提前谢谢你
【问题讨论】: