エラー: MarkCompactCollector: 若いオブジェクトのプロモーションに失敗しました 割り当てに失敗しました (npm run dev メモリ オーバーフロー)

エラーメッセージはタイトルの通りです

原因を分析したところ、実際にはnpm run devを実行した際にプロジェクトが大きすぎてノードのメモリがオーバーフローしたことが原因でした。

解決策はノードメモリを拡張することです

しかし、百度は多くの結果をチェックしましたが、どれも有効ではありませんでした。午後から苦労した後、ようやく修正されました。次のように手順を記録します。

解決

この解決策は必須とオプションに分かれています

[オプション] ノードのバージョンを下位バージョンに変更します。

[必須] 2 つのプラグインをグローバルにインストールする

npm install -g 増加メモリ制限クロス環境

(オプション) package.json に依存関係を追加します。

  "dependencies": {
    
    
    "increase-memory-limit": "^1.0.6",
    }

[必須] 次の 2 つのパラメーターを package.json に追加します。

"scripts": {
    
    
    "build": "node --max_old_space_size=4096 build/build.js",
    "fix-memory-limit": "cross-env LIMIT=4096 increase-memory-limit"
  },

(最も重要なステップ) [必須] プロジェクトのルート ディレクトリで実行します。

export NODE_OPTIONS=--max_old_space_size=4096
set NODE_OPTIONS=--max_old_space_size=4096 
cross-env NODE_OPTIONS=--max_old_space_size=8096

非常に重要です。参考: https://www.cnblogs.com/IwishIcould/p/17019276.html

  • Linux と Mac の下の
    エクスポート NODE_OPTIONS=–max_old_space_size=8096

  • Windows の場合 [Windows はこれを使用することを推奨します] コマンド ライン ウィンドウ CMD に次のコマンドを直接入力しても問題ありません。
    set NODE_OPTIONS=–max_old_space_size=8096

あなたがプロジェクトを壊した場合の解決策:

次のコマンドを順番に実行してキャッシュをクリアします。

rm -rf node_modules
npm cache clear --force
npm install

これにより、元の状態に戻ります。

おすすめ

転載: blog.csdn.net/weixin_44757863/article/details/131300744