15

nモジュールを使用してある node.js バージョンから別のバージョンに切り替えた後- https://github.com/visionmedia/n/、私のnpmが壊れています...

MacBook-Pro-Dmitri:~ dmitri$ npm --version

module.js:340
    throw err;
          ^
Error: Cannot find module 'npmlog'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at /usr/local/bin/npm:19:11
    at Object.<anonymous> (/usr/local/bin/npm:87:3)
    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)

ここでアドバイスされたように、npmを再度インストールします-https ://github.com/visionmedia/n/issues/101

curl https://npmjs.org/install.sh | sh

npmが動き始めます..

しかし、ノードバージョンの別の切り替えを行います:

n 0.8.22

そしてnpmは同じエラーで再び壊れました。

それは非常に面倒です..バージョンを切り替えるたびにnpmを手動でインストールする必要がありますか?!

4

5 に答える 5

1

バージョンごとに異なるグローバル パッケージ リポジトリはありますか?

おそらく、そのパッケージをグローバルに再インストールするか、バージョンを切り替えた後にsudo npm install -gパッケージ管理キャッシュを消去する必要があります。sudo npm cache clean

于 2014-07-27T06:18:15.013 に答える
0

npmlogを手動でインストールしてみてください:npm install -g npmlog

于 2014-07-28T07:07:42.243 に答える
0

私のように頻繁にバージョンを変更する場合は、Node と npm を一緒にバンドルする必要があります。NVMでノードをインストールしてみることができます

https://github.com/creationix/nvm

これは、異なるノード バージョンのパッケージを区別するのに役立ちます。切り替え後に npm install を実行するだけです。

PS: 現在のノード バージョンは非常に安定しています。0.8.22 の代わりに現在のバージョンを使用できます

于 2014-03-13T20:48:23.353 に答える
0

私は同じ問題を抱えていて、解決策を見つけることができませんでした。

nはnvmよりも保守が不十分なようです。そのため、次の手順に従ってノードを完全に削除し、 nvm を使用して再インストールしました。

(そしてノードには npm が含まれるようになりました)

于 2014-10-27T11:04:21.290 に答える
0

Windowsでも同じ問題がありました。ノードをアンインストールし、インストール ディレクトリからすべてを削除して、再インストールしました。コマンドラインを再起動した後、npmが再び機能するようになりました。

于 2015-03-13T09:34:34.883 に答える