在小牛更新之后,Npm不工作

在小牛更新之后,我在terminal的npm不工作。

node app.js运行良好,运行我的应用程序,但是当我运行npm后面是我得到的任何东西-bash: npm: command not found 。 我知道这个问题之前已经被问过了:

在Mac OS X Mavericks更新之后,使用npm进行全局安装不起作用,以及如何使用npm全局安装模块? 和重新安装Mac OS X后npm不工作 ,但没有答案解决了我的情况。

$ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/mongodb/bin

你是如何安装node.js的? 通常它与节点和npm捆绑在一起,两者都在同一个目录中。 我的build议是删除您当前的安装(s),并执行以下工作。

安装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} 

http://nodejs.org/download/下载源代码

 cd node-v0.xxxx ./configure --prefix=${parent_dir}/nodejs make -j8 make install 

把它放到上面定义的dir中–prefix

 export PATH=${parent_dir}/nodejs/bin:$PATH 

定义环境variablesNODE_PATH,以便节点可以find模块的目录,否则npm install xxx会把新安装的模块放到目录中curr目录中:

 export NODE_PATH=${parent_dir}/nodejs/lib/node_modules 

做以上和使用语法:npm install -g some_cool_module总是使用-g为全局,所以它被安装到目录$ NODE_PATH而不是你的$ PWD

nodejs install也给你npm:

 ls -la ${parent_dir}/nodejs/bin 

对于Debian,在安装节点后执行以下操作

 curl -k -O -L https://npmjs.org/install.sh ln -s /usr/bin/nodejs /usr/bin/node sh install.sh