在Ubuntu16.04上,我使用NVM安装了NodeJS v8.9.3。我以root身份运行安装,因此节点安装在以下位置:
/root/.nvm/versions/node/v8.9.3/bin/node为了让非根用户能够访问它,我在/usr/bin/node创建了一个软链接
lrwxrwxrwx 1 root root 40 янв 18 11:58 node -> /root/.nvm/versions/node/v8.9.3/bin/node节点文件本身具有所有用户的可执行权限:
-rwxrwxr-x 1 500 500 35200878 дек 8 17:09 /root/.nvm/versions/node/v8.9.3/bin/node当我以root身份访问node时,一切都运行得很好:
# node -v && which node
v8.9.3
/root/.nvm/versions/node/v8.9.3/bin/node任何以非root用户身份访问它的尝试都会失败:
$ node -v
The program 'node' is currently not installed. You can install it by typing:
sudo apt install nodejs-legacy
$ /usr/bin/node -v
bash: /usr/bin/node: Permission denied需要做哪些更改才能允许非root用户访问节点?
发布于 2018-01-18 17:48:16
我建议您删除当前的安装并使用apt-get进行安装。以下是Ubuntu官方网站的教程:https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs默认情况下,这种安装方式将使root和所有其他用户都可以访问node。
另外,请记住:
由于与其他包冲突,Ubuntu存储库中的可执行文件被称为nodejs,而不是节点。在运行软件时,请牢记这一点。
下面是关于安装nodejs的另一个很好的参考资料:https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-16-04
发布于 2018-01-18 17:25:09
试试chmod 755 /usr/bin/node。这将为您系统上的所有用户提供读取和执行权限
https://stackoverflow.com/questions/48317626
复制相似问题