Node.js 无法使用sudo npm安装全局模块

Node.js 无法使用sudo npm安装全局模块,node.js,npm,sails.js,pm2,Node.js,Npm,Sails.js,Pm2,我试图从一个使用sudo的非root用户那里安装pm2,sails.js for Node.js。我得到以下错误: sudo npm install pm2 -g sudo: npm: command not found 但是,当我尝试使用下面的命令安装时,它是有效的 sudo /usr/local/bin/npm install pm2 -g 我如何使sudo npm工作 谢谢 我以前如何使用su安装Node和npm: su - yum install gcc-c++ openssl-d

我试图从一个使用sudo的非root用户那里安装pm2,sails.js for Node.js。我得到以下错误:

sudo npm install pm2 -g
sudo: npm: command not found
但是,当我尝试使用下面的命令安装时,它是有效的

sudo /usr/local/bin/npm install pm2 -g
我如何使sudo npm工作

谢谢

我以前如何使用su安装Node和npm:

su - 
yum install gcc-c++ openssl-devel python
cd /usr/local/src
wget http://nodejs.org/dist/node-latest.tar.gz
tar zxvf node-latest.tar.gz
(cd into extracted folder: ex "cd node-v0.10.3")
./configure
make
make install

这意味着npm不是用sudo安装的,因此它不在root路径中。我认为,最好始终使用npm而不使用“sudo”。因为您可以在本地环境中保留随npm一起安装的软件包


如果确实要与sudo一起使用,可以使用sudo重新安装node。

是的,您的系统上没有安装NPM。 您可以首先检查节点是否设置完美

$node-v

它将给出一个版本。 如果是,请检查

$npm-v

如果它的非给定版本可能是您的环境路径未设置,则执行

$PATH=/usr/bin/node:$PATH


只需检查node-v和npm-v。如果npm给出了版本号。就这样。它将安装全球软件包。

非常感谢所有帮助我的人!正如@Rodrigo Medeiros建议我的那样,我使用下面的方法安装了node.js和npm,该方法取自deesejohn在该页面上发表的评论,但根据该建议修改了两行命令

cd
sudo yum install gcc-c++
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=$HOME/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl -L https://www.npmjs.org/install.sh | sh
使用node-v和npm-v检查已安装的版本

现在,我可以在没有sudo权限的情况下全局安装npm模块,有很多方法可以安装node.js和npm,但这对我来说很有效


谢谢。

也许/usr/local/bin/不在您的路径中。运行echo$PATH时,是否在结果中看到/usr/local/bin?我重新安装了服务器。但是我如何在没有sudo的情况下安装node.js和npm来避免将来出现这个问题呢。我以前是使用上述程序安装的。我经常使用的问题更新,来自npm的创建者艾萨克·施卢特。如果你想尝试的话,在同一个gist文件中还有其他方法。非常感谢你为我指出了这个方法。我选择第一个-当我尝试执行最后一个命令curl | sh-i时,我得到一个错误:sh:line 1:Moved:command not found:-我重新安装了服务器。但是我如何在没有sudo的情况下安装node.js和npm来避免将来出现这个问题呢。我以前是使用上述程序安装的。在questionI安装节点中使用预先构建的二进制软件包直接升级软件包,设置路径和使用,其中npm已经打包。如果可能的话,建议如何直接从二进制文件安装?谢谢