2016-01-10 5 views
6

ノードのアップグレードに 'brew upgrade'を使用してアップグレードし、npm 3.5.4にアップグレードした 'npm update -g'を実行しました。 NPMの更新が警告を終え:npm 3.5.4:更新中のEBUNDLEOVERRIDEによりnpmlogエラーが発生する

「NPM更新-g」(または任意の他のNPMコマンド)を実行している
/usr/local/lib 
└── [email protected] 

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 

は今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

(しかし、私はノードをアップグレードしなかった、ちょうどグローバルアップデートを実行した):代わりに他のすべてを残しながらnode 3.3.12をインストールします。このエラーメッセージと、 'npmlogをバンドルされたnpm>を新しいインストールされたバージョンに置き換える 'のためにグーグルグーグルを見つけました。 [私が見つけることができる唯一の答え](http://stackoverflow.com/questions/11177954/how-do-i-completely-uninstall-node-js-and-reinstall-from-beginning-mac-os-x)へのnpmを完全にアンインストールして再インストールしてください。何が痛い。 –

+0

npmの開発者との議論は、以前のバージョンのnpm(3.3.12、新しくHomebrewをインストールした場合、または3.4.x)と関係しているようですが、3.5.xを3.5.4にアップデートしても問題はないようです)。完全なアンインストールは、次回にアップデートする-gを指定するまで動作し、npmは最新のものに更新されます。主な修正は、ノードのHomebrewバージョンがnpmを3.5.xに更新するときです。 –

答えて

1

brew reinstall nodeのように見えますが、これを解決するための最小の破壊的な方法です。私は同じ問題を抱えている

$ 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 
+0

Chrisありがとうございます - これは素晴らしい一時的な修正ですが、npmが自身を管理している間は、 'npm update -g'を実行すると問題が再現されます。ノードパッケージにnpm 3.5.xがあるまでグローバルに更新するのを避けることができますが、それはしばらく時間がかかることがあります。私は単にHomebrewをこのまま残して、現在のバージョン(バージョンマネージャーの有無にかかわらず)にnode/npmを直接インストールする必要があるかもしれません。それは3..3.12からのアップグレードをスキップし、おそらく問題を解決するでしょう。 –

+0

@Dusty homebrewは 'npm 3.5.3 'に付属する' node 5.4.1_1'を提供しているようです。私は 'npm update -g'を' npm 3.5.4'に更新することができました。 – Chris

+1

優秀 - これは私のためにも機能します。フォローアップする時間をとってくれてありがとう! –

0

I completely reinstalled npmこのエラーのための唯一の解決策であるように思われました。それは私のためにそれを固定した。

+0

完全なアンインストールに続いて 'brew install node'を実行すると、npm v。3.3.12が生成されます。このバージョンは機能します。続いて 'npm update -g'を実行すると、同じEBUNDLEOVERRIDEとエラーが記述されたnpm v 3.5.4が生成されます。この問題はこのバージョンのnpmに固有のようです。 –

+0

私はbrewを使用していないという違いがあると思うので、npm/nを使って再インストールしました。もう一度グローバルアップデートを試みる予定はありません。 –

関連する問題