エンジンの「ノード」は「この」モジュールと互換性がありませんというエラーを解決する方法

Enjinno Nodo Ha Kono Mojuruto Hu Huan Xinggaarimasentoiuerawo Jie Juesuru Fang Fa



Node.js では、「 パッケージ 」には、モジュールの重要なファイルがすべて含まれています。モジュールは、コンテキストに基づいてアプリケーションとの接続を構築するライブラリに対応します。すべての Node.js パッケージは事前定義されているわけではありません。ほとんどは、「npm/yarn」パッケージ マネージャーを介して Node.js アプリケーションにインストールできる外部パッケージです。

外部パッケージのインストールは非常に簡単ですが、このタスクの実行中にユーザーがエラーに直面する場合があります。これらのエラーのうち、「エンジン 'ノード' は 'この' モジュールと互換性がありません」エラーは、さまざまな手法に従って解決できるエラーの 1 つです。

概要







エンジンの「ノード」が「この」モジュールと互換性がない場合、エラーが発生しますか?

「ノード」は「この」モジュールと互換性がありません 「モジュール」エラーは、次の理由で発生します。



理由 1: 必要なパッケージに互換性がない

「ノード」が「この」モジュールと互換性がないというエラーの最も一般的な理由は、Node.js と必要なパッケージ バージョン間の非互換性によるものです。これは主に、Node.js アプリケーションを AWS にデプロイするときに直面します。



理由 2: ノードのバージョンが古い

もう 1 つの理由は、Node.js のバージョンが古いことです。この問題は主に、ユーザーが Node.js バージョンを複数回更新しようとし、それに伴ってシステム リポジトリも更新するときに、Ubuntu オペレーティング システムで発生します。この理由により、「 適切な 」 コマンドを実行すると、Debian パッケージから取得した古い Node.js バージョンが起動され、ユーザーは上記の特定のエラーに直面します。





エンジンの「ノード」は「この」モジュールと互換性がありませんというエラーを解決するにはどうすればよいですか?

このセクションでは、エンジンの「ノード」が「この」モジュールと互換性がありませんというエラーを解決するために考えられるすべての実行可能な解決策を列挙します。

解決策 1: 「npm」と「yarn」を使用してエンジン チェックを無視する

一つ目の解決策は「 エンジンチェック無視 」を使用して指定されたパッケージをインストールしながら、 npm ' または ' 」パッケージマネージャー。のために ' npm 」を使用して実行できます。 -力 ” フラグと” このタスクは、「」を使用して実行できます。 –無視エンジン ' フラグ。



まず「」に進みます npm 」パッケージマネージャー。

構文(NPMの場合)

npmインストール -- < パッケージ 名前 >

上記の構文によれば、「 -力 」フラグは、指定されたパッケージを Node.js アプリケーションに強制的に追加します

次に、上記の構文を使用して、特定のパッケージを現在の Node.js バージョンにインストールします。

npmインストール -- 強制タイプスクリプト

上記のコマンドでは、現在の Node バージョンの互換性を無視して「typescript」パッケージがインストールされます。

以下の出力は、「 タイプスクリプト 」パッケージが現在の Node.js アプリケーションに強制的にインストールされました。キャッシュによる警告メッセージも表示されます。 「」を実行します。 npmキャッシュ検証 」コマンドを使用して、キャッシュが適切に機能したかどうかを確認します。

ここで、「」を使用してエンジンチェックを無視します。 以下のコマンドを使用して、パッケージ マネージャーを実行します。

糸のインストール -- 無視する - エンジン

上記のコマンドはエンジンチェックを無視し、「 」では、オプションの依存関係はインストールされません。 ” –無視エンジン 」フラグは、オフライン モードで「yarn install」コマンドを実行します。

上記のコマンドは「 糸ロック 」ファイルを Node.js プロジェクトのメイン ディレクトリに配置します。

」パッケージ マネージャーでは、エンジン チェックを無視してパッケージをインストールするには、次の構文が必要です。

構文(糸の場合)

糸追加 < パッケージ 名前 > -- 無視する - エンジン

次に、上記の構文を使用して「 タイプスクリプト 」パッケージをオペレーティング システム内でグローバルに使用します。

糸グローバル追加タイプスクリプト -- 無視する - エンジン

以下の出力では、すべての Node.js プロジェクトに対して、現在の Windows オペレーティング システムに typescript プロジェクトがグローバルに正常に追加されます。

ヒント: すべてのコマンドのエンジン チェックを無視する

ユーザーがすべてのコマンドのエンジン チェックを無視したい場合は、以下のコマンドを「 真実 ” ブール値:

糸構成セットを無視する - エンジン 真実

上記のコマンドは、「package.json」ファイルで指定されたエンジン フィールドを無視するようにコンパイラーに指示します。

エンジンを無視する 」チェックはすべてのコマンドに対して true に設定されています。これで、ユーザーは「-ignore-engines」フラグを指定せずに、特定のパッケージを Node.js にインストールできるようになります。

解決策 2: 「package-lock.json」ファイルを使用してデフォルトのエンジンフィールドを無効にする

次の解決策は、「」を変更することです。 エンジン 「」フィールドから パッケージロック.json ' ファイル。これを行うには、まず Node.js プロジェクトのメイン ディレクトリに移動し、「package-lock.json」ファイルを開きます。

対象のファイルが開いたら、「」に移動します。 エンジン ” フィールドを編集し、次のように更新します。

プレス ' Ctrl+S 」をクリックして上記ファイルを保存します。この変更により、「npm」パッケージ マネージャーが「>=14.17」の Node.js バージョンに適した必要なパッケージ バージョンをインストールできるようになります。

解決策 3: ノードを最新バージョンに更新する

もう 1 つの解決策は、Node.js のバージョンを更新することです。すべてのオペレーティング システムでの Node.js の更新は非常に簡単で、以下のガイドを参照して実行できます。

  • Windows でノードのバージョンを更新するにはどうすればよいですか?
  • Ubuntu でノードのバージョンをアップグレードするにはどうすればよいですか?
  • macOS で Node.js を最新バージョンにアップグレードするにはどうすればよいですか?

エンジンの「ノード」が「この」モジュールと互換性がないというエラーがまだ続く場合はどうすればよいですか?

上記の解決策のいずれかを使用して解決した後も「エンジン「ノード」は「この」モジュールと互換性がありません」エラーが続く場合は、「 ノードモジュール ”フォルダー。 「node_modules」フォルダーは、サードパーティのモジュールがインストールされると自動的に生成されます。これには、Node.js プロジェクトが依存するすべてのサードパーティ パッケージが含まれています。

さらに、「 パッケージロック.json 」ファイルは、「npm」でパッケージをインストールするときにも自動的に生成されます。依存関係だけでなく、パッケージが依存するサブ依存関係もそのバージョンとともに記録します。パッケージが「yarn」でインストールされている場合、このファイル名は「 糸ロック ”。

解決策: 「node_modules」フォルダーと「package-lock.json」ファイルを削除します。

発生したエラーの解決策は、「node_modules」フォルダー、構成ファイル「package-lock.json/yarn.lock」を削除し、必要なパッケージを再度インストールすることです。

Linuxの場合 、上記で指定したフォルダーまたはファイルは、以下の「」を使用して削除できます。 rm (削除)」コマンド:

rm - rf ノードモジュールパッケージ - ロック。 json //フォルダーとファイルを削除

ls // ファイルとディレクトリを表示します

上記のコマンドでは、「 -r 「フラグは指定されたフォルダーを削除します」 再帰的に ” そのすべてのサブディレクトリと、” f 「フラグはインタープリタにこのタスクを実行するように指示します」 強制的に ”:

出力には、「node_modules」フォルダーと「package-lock.json/yarn.lock」ファイルが完全に削除されたことが示されています。

Windowsの場合 の場合、ユーザーは「delete」キーを押すか、ドロップダウン メニューから「delete」オプションを使用するだけで、「node_modules」フォルダーと「package-lock.json/yarn.lock」ファイルを削除できます。

Node.js の「モジュールが見つかりません」エラーを解決する方法は以上です。

結論

エンジンを解決するには」 「ノード」は「この」モジュールと互換性がありません 」エラーが発生した場合は、指定されたパッケージ マネージャーに従ってエンジン チェックを無視します。のために ' npm 」を使用して実行できます。 -力 ” フラグ、そして” のために 」を通じて実行できます。 –無視エンジン 」チェックフラグ。さらに、ユーザーは「」を変更することでエラーを解決することもできます。 エンジン の「フィールド」 パッケージロック.json 」ファイルを使用するか、Node バージョンをアップグレードします。この投稿では、考えられるすべての理由と、Node.js を使用して「モジュールが見つかりません」エラーを解決するための解決策について説明しました。