Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
718 views
in Technique[技术] by (71.8m points)

node.js - Can't use NVM from root (or sudo)

I've mentioned that my application uses different version of NodeJS when running from sudo.

$ node -v
v0.10.23
$ sudo node -v
v0.11.8-pre

This v0.11.8-pre caused me some problems, so I definitely don't want to use it, but I can't change it for root.

$ sudo nvm use v0.10.23
sudo: nvm: command not found

I've tried to install nvm from root user, but got error "NVM already installed", but still nvm not found when running from sudo. What is my problem?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The below list of commands (source: digitalocean) seems to fix the problem

WARNING!!!! In some circumstances, these commands can break your system! Make sure you know what do these command do!!! related

n=$(which node); 
n=${n%/bin/node}; 
chmod -R 755 $n/bin/*; 
sudo cp -r $n/{bin,lib,share} /usr/local

The above command is a bit complicated, but all it's doing is copying whatever version of node you have active via nvm into the /usr/local/ directory (where user installed global files should live on a linux VPS) and setting the permissions so that all users can access them.

Hope this helps!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...