【问题标题】:node.js on Mac OS X npm "Error: No such module"Mac OS X npm 上的 node.js “错误:没有这样的模块”
【发布时间】:2012-08-25 07:22:59
【问题描述】:

我已经从 pkg 安装程序安装了 node.js v0.8.8 并从源代码编译。但是在尝试运行 npm 时出现以下错误。任何帮助将不胜感激。

>  $ npm --help
> 
> /usr/lib/node_modules/npm/lib/utils/config-defs.js:5   , stdio =
> process.binding("stdio")
>                     ^ Error: No such module
>     at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config-defs.js:5:21)
>     at Module._compile (module.js:449:26)
>     at Object.Module._extensions..js (module.js:467:10)
>     at Module.load (module.js:356:32)
>     at Function.Module._load (module.js:312:12)
>     at Module.require (module.js:362:17)
>     at require (module.js:378:17)
>     at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/ini.js:43:18)
>     at Module._compile (module.js:449:26)
>     at Object.Module._extensions..js (module.js:467:10)

【问题讨论】:

  • 呵呵呵呵,“不吸模块”。不要纠正那个。 :)

标签: macos node.js npm


【解决方案1】:

我从 Node.JS 0.4 升级到 0.8 时遇到了完全相同的问题。对我有用的是:

OSX Node.JS 软件包安装程序错误地没有删除 /usr/bin 中的旧 0.4 npm 安装,然后与 /usr/local/bin 中的新 0.8 安装冲突。它只是覆盖已经存在的任何内容。我删除了旧版本,但为了确保这一点,我决定全新安装会更好:

curl https://npmjs.org/install.sh | sudo clean=yes sh

还有最后一个问题:安装后,即使which npm 正确返回/usr/local/bin/npm,bash 仍然试图从/usr/bin 执行。这是因为在 OSX 上,bash 已经对可执行文件名称进行了哈希处理。每次执行常用程序时,散列都会保存对 PATH 中所有目录的重复搜索。命令行中的hash -r 解决了这个问题。

【讨论】:

  • 我运气不好,从节点 0.4 升级到 0.10。
【解决方案2】:

您很可能以某种方式使用旧的 NPM 版本。 见:npm issue

【讨论】:

  • 谢谢,我必须克隆 git repo (git://github.com/isaacs/npm.git),然后必须手动删除 /usr/lib/node_modules/npm 的所有内容,然后 / usr/bin/npm*) 然后运行“sudo make install”)
  • 嗯...我想知道为什么当您从 src 编译时 node 没有覆盖 npm 二进制文件...
猜你喜欢
  • 2017-04-15
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 2012-05-06
  • 2016-01-19
  • 2021-08-04
相关资源
最近更新 更多