13

这可能是一个新手问题,但我想知道为什么当我用 nvm 安装节点时,它只适用于这个用户(它不是“全局的”)。

假设我使用用户“admin”登录服务器:

curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh
source ~/.profile

nvm install 0.10.30
nvm use 0.10.30

node -v
# outputs v0.10.30

节点已为该用户启动并运行,但是当我切换到 root 时:

su
node -v

它显示:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: apt-get install <selected package>

为什么?有没有办法安装节点并使其可供所有用户使用?(我不想每次新用户需要它时都重新安装。)

4

1 回答 1

30

问题是 NVM 将 node.js 安装到用户的本地目录,并更新该用户的 .profile。

这是一个可以将您的安装复制到 /usr/local/bin 的单行脚本,每个人都可以在其中使用 node.js:

https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
于 2014-08-18T17:14:18.843 回答