通过&brew升级,升级到节点5.4.0,'然后运行 更新-g,'升级到npm 3.5.4。 npm update完成了警告:
/usr/local/lib
└── npm@3.5.4
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > init-package-json with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > node-gyp with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npm-install-checks with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npmlog with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version
跑步  npm update -g' (或任何其他npm命令)现在抛出npmlog错误:
module.js:328
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:20:13
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:76:3)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
我不清楚为什么要发生覆盖,或者如何再次将npm指向日志。感谢任何想法。
答案 0 :(得分:1)
看起来brew reinstall node
是解决此问题的破坏性最小的方法。安装node 3.3.12
同时保留其他所有内容:
$ brew reinstall node
==> Reinstalling node
==> Downloading https://homebrew.bintray.com/bottles/node-5.4.1.yosemite.bottle.tar.gz
Already downloaded: /Library/Caches/Homebrew/node-5.4.1.yosemite.bottle.tar.gz
==> Pouring node-5.4.1.yosemite.bottle.tar.gz
==> Caveats
Please note by default only English locale support is provided. If you need
full locale support you should:
`brew reinstall node --with-full-icu`
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
/usr/local/Cellar/node/5.4.1: 2,827 files, 34.2M
$ npm outdated --global
Package Current Wanted Latest Location
npm 3.3.12 3.5.4 3.5.3
答案 1 :(得分:0)
我completely reinstalled npm这似乎是我能找到的唯一解决此错误的方法。它为我修好了。