我在Stack Overflow上找到了很多类似的问题,但它们与我的问题无关。
我已经使用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 mix一起使用。当然,从远程服务运行上述评论将完美地运行。
我尝试过:
- 在/etc/ssh/sshd_config中添加
PermitUserEnvironment yes
,然后重新启动ssh。
- 通过npm i -g npx
全局安装npx,但被nvm拒绝,提示npx已存在。
- 重新安装nvm和node。
- 在/home/myuser/.nvm/versions/v14.16.0/bin/npx
和/usr/local/bin
之间创建符号链接。还有什么我可以尝试?提前感谢您。