1

我试图从非 root 用户使用 sudo 为 Node.js 安装 pm2、sails.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
4

3 回答 3

0

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

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

于 2015-03-27T02:34:53.537 回答
0

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

$节点-v

它会给出版本。如果是,那么检查

$npm -v

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

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

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

于 2015-03-27T05:20:31.493 回答
0

非常感谢所有帮助过我的人!就像@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 -v使用和检查安装的版本npm -v

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

谢谢。

于 2015-03-27T07:31:45.917 回答