5

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)
4

2 に答える 2

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最後に 1 つ問題がありました。インストール後、a が正しく返されたにもかかわらず/usr/local/bin/npm、bash は /usr/bin から実行しようとし続けました。これは、OSX では bash が実行可能ファイル名をハッシュしたためです。ハッシュは、一般的なプログラムを実行するたびに、PATH 内のすべてのディレクトリを繰り返し検索する手間を省きます。hash -rコマンドラインのAがこの問題を処理しました。

于 2012-10-16T20:23:51.980 に答える
3

何らかの理由で古い NPM バージョンを使用している可能性が最も高いです。参照: npm の問題

于 2012-08-30T14:22:59.550 に答える