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

Unable to install global modules using sudo npm

我试图从非 root 用户使用 sudo 安装 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路径下。我认为,最好始终使用没有 'sudo' 的 npm。因为你可以在本地环境中使用 npm 安装打包。

如果你真的想用sudo,你可以用sudo重新安装node。

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

$节点-v

会给出版本。 如果是,则检查

$npm -v

如果没有给出版本可能是你的环境路径没有设置然后执行

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

并检查 node -v 和 npm -v 。如果 npm 给出版本号。而已。它将安装全局包。

非常感谢所有帮助我的人!就像@Rodrigo Medeiros 建议我的那样,我使用以下取自 (https://gist.github.com/isaacs/579814#file-take-ownership-sh) 的方法安装了 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 -vnpm -v

检查安装的版本

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

谢谢。