【问题标题】:Global NPM Modules Don't Work on OS X Mountain Lion全局 NPM 模块不适用于 OS X Mountain Lion
【发布时间】:2012-11-14 07:53:34
【问题描述】:

我已经安装好了

用于本地开发的 OS X 10.8.2 上的 Node@v0.8.14 和 NPM@1.1.65。

一切都按预期工作,除了我尝试使用 -g 全局标志安装的软件包,如 grunt 或 forever,找不到终端命令。

我已尝试添加一些路径,但到目前为止没有任何效果...

这是我的标准echo $PATH

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/:/usr/local/bin:/usr/local/share:/usr/local/share/npm:/usr/local/share/npm/lib/node_modules/:.npm

感谢您的帮助!

【问题讨论】:

  • 您是否在终端中遇到任何错误?你试过sudo npm install ... 吗?
  • 试试cd /usr/local/bin; ls你在这里看到你安装的node_modules了吗?
  • 我遇到了同样的问题。我在 Mountain Lion 上有节点 v0.8.12。全局安装 express。找不到“快递”命令。也许在最近的 npm 版本中安装路径发生了变化?
  • 为了解决这个问题,我将 express bin 文件夹添加到 /etc/launchd.conf 中的 $PATH 变量中(您可能必须创建此文件)。可能只是一种解决方法。请参阅overwatering.org/blog/2012/08/setting-path-osx-mountain-lion 寻求帮助。

标签: node.js osx-mountain-lion npm gruntjs forever


【解决方案1】:

我遇到了同样的问题 - 我通过全局安装 n 解决了它

npm install -g n

为我工作

【讨论】:

    【解决方案2】:

    我也遇到了这个问题。您需要检查您的 npm 前缀,如果不是,请将其更改为 /usr/local。检查我的答案here

    【讨论】:

      【解决方案3】:

      唯一对我有用的解决方案是将模块直接安装到我的用户文件夹中,例如:

      cd ~
      npm install whatever
      

      这不是一个很好的解决方案,因为我的用户文件夹现在有一个 node_modules 目录,但我已经厌倦了尝试做正确的事情。

      【讨论】:

        【解决方案4】:

        使用 sudo 命令安装 NPM 模块,

        喜欢这个

        sudo npm install -g express
        

        【讨论】:

        • 您不想这样做的原因有很多,即它可能会使您的机器面临各种风险。 NPM 被设计为不需要 sudo。它现在可能对您来说有问题,但请考虑其他选项之一,例如更改权限或全局安装的前缀位置。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-01
        • 2012-01-23
        • 2013-06-17
        • 2012-07-25
        • 2012-12-07
        相关资源
        最近更新 更多