在小牛队更新后,我在终端的npm没有工作。
node app.js
效果很好并且可以运行我的应用,但是当我运行npm
后,我得到了-bash: npm: command not found
。我知道这个问题在此之前已被提出过:
Global installation with npm doesn't work after Mac OS X Mavericks update 和 How do I install a module globally using npm? 和npm not working after reinstalling Mac OS X ,但没有一个答案解决了我的情况。
$ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/mongodb/bin
答案 0 :(得分:0)
你是如何安装node.js的?通常它与节点和npm捆绑在一起,两者都在同一目录中。我的建议是删除您当前的安装并执行以下操作。
安装nodejs和npm作为你自己不root用户执行这些命令(OSX / linux):
parent_dir=${HOME}/bin_xxxx # replace bin_xxx with something specific
# to node release like bin_v0.10.31
mkdir ${parent_dir}
下载源代码
cd node-v0.xxxx
./configure --prefix=${parent_dir}/nodejs
make -j8
make install
将其放入上面--prefix
定义的目录中export PATH=${parent_dir}/nodejs/bin:$PATH
定义环境变量NODE_PATH,以便节点可以找到模块的dir npm install xxx会将新安装的模块放入curr目录中的dir:
export NODE_PATH=${parent_dir}/nodejs/lib/node_modules
执行上面的操作并使用语法:npm install -g some_cool_module 总是使用-g为全局,因此它被安装到dir $ NODE_PATH中 而不是你的$ PWD
nodejs install也为你提供了npm:
ls -la ${parent_dir}/nodejs/bin
答案 1 :(得分:0)
对于Debian,安装节点后请执行以下操作
curl -k -O -L https://npmjs.org/install.sh
ln -s /usr/bin/nodejs /usr/bin/node
sh install.sh