【问题标题】:FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory in production致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 在生产中堆内存不足
【发布时间】:2019-12-17 03:51:40
【问题描述】:

从上周开始,我大部分时间都在生产中,我收到FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory

我尝试增加 HEAP 大小,但没有奏效。由于它发生在生产中,所以无法继续使用它,它下降了一段时间。我在 Laravel 应用程序中使用 Vuejs 和 .less。

我在 package.json 中的脚本如下所示:

"scripts": {
    "start": "npm run watch",
    "dev": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch-poll": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --watch-poll --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
},

NPM 版本为4.6.1 NODE版本为8.16

我在开发中没有遇到此错误,但我在开发和生产中尝试了一些解决方案。

我尝试添加一个 npm 包

`npm install -g increase-memory-limit` 

然后

`increase-memory-limit` 

但是当我执行npm run devnpm run watch 时,模块没有编译。进程卡了很久,什么也没发生。

我还尝试在生产中添加以下脚本: "scripts": { "fix-memory-limit": "cross-env LIMIT=2048 increase-memory-limit" }, "devDependencies": { "increase-memory-limit": "^1.0.3", "cross-env": "^5.0.5" }

但它也没有奏效。包坏了,最后不得不删除代码。

The source is here

我还尝试在 dev 中使用以下脚本:

"dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"

我没有收到任何错误,但我不确定它是否可以在生产中工作。这是正确的做法吗?

或类似的东西:

npm run dev NODE_OPTIONS="--max-old-space-size=4096"

不能在生产中冒险,已经失败了 2、3 次。

有人可以建议更好的方法吗?我如何检查 HEAP 大小是否增加。

【问题讨论】:

  • 这发生在我身上一次,应该归咎于一个过时的包。您的所有软件包都是最新的吗?

标签: node.js vue.js npm


【解决方案1】:

我有同样的问题, 我通过计算解决了,vue文件中<template>之后必须有<div>

【讨论】:

猜你喜欢
  • 2016-12-19
  • 1970-01-01
  • 2018-11-10
  • 2018-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-21
  • 2018-12-05
相关资源
最近更新 更多