Mac OS X上的node.js npm"错误:没有这样的模块"

Sea*_*lly 5 macos node.js npm

我从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)
Run Code Online (Sandbox Code Playgroud)

Axe*_*xel 9

我有从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命令行中的A 负责处理此问题.


xen*_*xen 3

您很可能以某种方式使用旧的 NPM 版本。请参阅:npm 问题

  • 谢谢,我必须克隆 git 存储库(git://github.com/isaacs/npm.git),然后必须手动删除所有内容 /usr/lib/node_modules/npm 和 /usr/bin/npm*)运行“sudo make install”) (3认同)