45
Platform: Linux

node.js プログラムを実行すると、次のエラーが発生しました

Error: Module version mismatch. Expected 11, got 1.
4

14 に答える 14

54

次のようなエラーが表示される場合があります。

Error: Module version mismatch. Expected 11, got 1.
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/user/node_modules/xml2json/node_modules/node-expat/lib/node-expat.js:4:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

そして、モジュールまたはどこかでエラーに気付くことができます。

これは、ノードを更新したためです。上記のモジュールを再構築する可能性があります。

xml2json を再インストール(削除してからインストール) して、質問を取り消します。

幸運を!

于 2013-03-25T07:35:26.720 に答える
19
Platform: Linux

node.js v0.10.x(少なくとも v0.10.0) での今後の参考のために、次のエラーが発生しました。

Error: Module version mismatch. Expected 11, got 1.

これを修正するために、この興味深いリンクを見つけ、 Ben Noordhuisの助けも得ました。次のコマンドは、このエラーを取り除くのに役立ちました。

npm update
于 2013-03-23T07:45:33.470 に答える
4

この問題は、次のシナリオが原因で発生します。たとえば、バージョン 5 の Node を使用しています。プロジェクト内にいくつかのライブラリを追加し、それをビルドして実行します。すべてのライブラリはノード バージョン 5 でコンパイルされます。

次に、ノードをたとえばバージョン 6 にアップグレードします。次に、ノードを使用するいくつかのコマンドを実行しますnpm run test。ここに問題があります。古いノードでコンパイルされたライブラリを実行するために、新しいノード バージョンを使用します。

これは、次の 2 つのコマンドで簡単に解決できます。

rm -rf node_modules // force remove node_modules directory
npm install         // install again all libraries. 
于 2016-10-17T19:41:30.640 に答える
2

ノード モジュールのバージョンと対応するノード リリースのリストは、このページhttps://nodejs.org/en/download/releases/で確認できます。

NODE_MODULE_VERSION は Node.js の ABI (アプリケーション バイナリ インターフェイス) バージョン番号を参照し、Node.js でコンパイルされた C++ アドオン バイナリのどのバージョンを再コンパイルせずに読み込むことができるかを判断するために使用されます。以前のバージョンでは 16 進値として格納されていましたが、現在は整数として表されます。

于 2016-02-10T10:42:04.263 に答える
0

私の場合、エラーの理由は、異なる node.js バージョンに対してコンパイルされた C++-AddOn でした。

そのため、C++-AddOn を再コンパイルする必要がある場合があるため、実行するアドオンと node.js のメジャー バージョンが一致します。

于 2016-08-02T13:47:04.810 に答える
0

上記の答えのどれも私にとって問題を解決しませんでした。私にとっての解決策は、 xml2json の代わりに xml2js を使用することでし

于 2018-12-11T12:49:10.400 に答える