通过'brew upgrade'升级到Node 5.4.0,然后运行'npm update -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
Run Code Online (Sandbox Code Playgroud)
运行'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)
Run Code Online (Sandbox Code Playgroud)
我不清楚为什么要发生覆盖,或者如何再次将npm指向日志.欣赏任何想法.
看起来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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
506 次 |
最近记录: |