我有一个专用的服务器,上面装有 ubuntu 14 和 plesk(不是我的选择)。
我可以毫无问题地从我的管理员用户启动:
cmeneux@sd-111960:~$ yarn -v
1.22.5
cmeneux@sd-111960:~$ npm -v
6.14.8
cmeneux@sd-111960:~$ nvm version
v14.15.0
cmeneux@sd-111960:~$ nodejs -v
The program 'nodejs' is currently not installed. You can install it by typing:
sudo apt-get install nodejs
cmeneux@sd-111960:~$ node -v
v14.15.0
问题如下: 对于我们创建的每个域,我们都会创建一个特定的用户,其中包含一些ssh bin/bash凭据。
如果我用这个用户(这里是基督徒)登录 ssh:
christian@sd-111960:~$ yarn -v
christian@sd-111960:~$ node -v
christian@sd-111960:~$ npm -v
The program 'npm' is currently not installed
正如您所看到的,没有任何输出yarn -v node -v
。我希望该用户能够启动这些命令。
如果我们关注纱线,二进制文件位于同一位置:
christian@sd-111960:~$ which yarn
/usr/bin/yarn
lrwxrwxrwx 1 root root 22 Aug 27 13:16 yarn -> ../share/yarn/bin/yarn
所以它看起来像用户作为访问它的权限,我不知道在哪里更深入地解决这个问题。对于节点(不是nodejs)来说同样的事情,相同的权限,位于 /usr/sbin/node 中。
我尝试 &>debug.log 但实际上没有任何输出,这就是困扰我的原因。我不明白发生了什么事以及如何调查更多......
一件奇怪的事:我从我的管理员安装所有内容ssh 会话('cmeneux'):apt get apt update 等。如果我从此会话中查找 npm:
cmeneux@sd-111960:~$ which npm
/home/cmeneux/.nvm/versions/node/v14.15.0/bin/npm
显然,其他会话“基督教”似乎无法访问此垃圾箱。也许我安装它时是错的:来自我的管理员 ssh 的历史记录:
333 curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
334 echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
335 sudo apt update && sudo apt install yarn
336 sudo apt install yarn
欲了解信息:
christian@sd-111960:/usr/sbin$ $PATH
-bash: /opt/plesk/php/7.0/bin:/var/www/vhosts/sd-111960.dedibox.fr/.rbenv/shims:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: No such file or directory
cmeneux@sd-111960:~$ $PATH
-bash: /home/cmeneux/.nvm/versions/node/v14.15.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: No such file or directory
感谢您的帮助和评论,