【问题标题】:Npm not working after Mavericks update小牛队更新后 Npm 无法正常工作
【发布时间】:2014-10-30 20:33:52
【问题描述】:

在 Mavericks 更新后,我在终端中的 npm 无法正常工作。

node app.js 运行良好并运行我的应用程序,但是当我运行npm 后跟任何我得到-bash: npm: command not found 时。我知道之前有人问过这个问题:

Global installation with npm doesn't work after Mac OS X Mavericks updateHow 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

【问题讨论】:

标签: node.js macos terminal npm


【解决方案1】:

你是如何安装 node.js 的?通常它与 node 和 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}

下载来源:http://nodejs.org/download/

cd node-v0.xxxx

./configure   --prefix=${parent_dir}/nodejs

make -j8
make install

把它放到上面 --prefix 定义的目录中

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

定义环境变量 NODE_PATH 以便节点可以找到模块的目录,否则 npm install xxx 会将新安装的模块放入当前目录中的目录:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      相关资源
      最近更新 更多