我试图从一个非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
答案 0 :(得分:0)
这意味着npm不是用sudo安装的,所以它不在root的路径中。我认为,最好不要在没有' sudo'的情况下使用npm。因为您可以在本地环境中使用npm保持已安装的打包。
如果您真的想使用sudo,可以使用sudo重新安装节点。
答案 1 :(得分:0)
是的,您的系统上未安装NPM。 您可以先检查节点是否设置完好。
$ node -v
它会给出版本。 如果是,请检查
$ npm -v
如果未提供版本可能是您的环境路径未设置则执行
$ PATH = / usr / bin / node:$ PATH
然后检查节点-v和npm -v。如果npm给出版本号。而已。它将安装全局包。
答案 2 :(得分: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,但这对我有用。
感谢。