当我使用Ionic serve命令运行Ionic 3项目时,我会得到这个错误:


当前回答

执行如下命令:

export NODE_OPTIONS="--max-old-space-size=2048"

检查你已经有多少钱了:

> node
> v8.getHeapStatistics()
{
  total_heap_size: 6049792,
  total_heap_size_executable: 524288,
  total_physical_size: 5477720,
  total_available_size: 1094444024,
  used_heap_size: 4141728,
  heap_size_limit: 1098907648,
  malloced_memory: 8192,
  peak_malloced_memory: 582752,
  does_zap_garbage: 0,
  number_of_native_contexts: 2,
  number_of_detached_contexts: 0
}

然后heap_size_limit: 1098907648

其他回答

对于那些从谷歌中得到这个问题并想要在Dockerfile中修复这个问题的非angular通用JavaScript答案(将6144替换为您想要分配的以兆字节为单位的内存量)。

我的实现在Node.js v14.1.0中工作,由Docker版本20.10.5执行,在气流v2.0.1中使用DockerOperator构建55c4c88)。

FROM node:14.1.0

# Create app directory
WORKDIR /tmp/dockerspace/

# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
COPY package*.json ./

RUN npm install

# Bundle app source
COPY . .

CMD node --max-old-space-size=6144 app.js

export NODE_OPTIONS="——max-old-space-size=6144" #它将增加到6gb。

——如果不解决尝试这2的步骤 ------------- 2)只需将节点版本更新到最新版本即可解决此问题。

——如果没有解决试试这第三步 ------------- 3)在windows终端上运行这个命令。 设置NODE_OPTIONS =——max_old_space_size = 4096

对我来说,问题是有一个额外的node_modules文件夹,我重命名为node_modules_old,并运行npm install来生成一个新的node_modules。在某种程度上,构建仍然会选择node_modules_old文件夹,所以我将node_modules_old从目录中移出以解决这个问题。

我在Angular上也遇到了同样的问题。然后我写了

"serve": "node --max_old_space_size=8192 ./node_modules/@angular/cli/bin/ng serve"

要打包的脚本。Json脚本,为我解决了这个问题。

并运行project this命令:

npm run serve

这个问题在我为我的项目更新了我的所有库,如Node.js, TypeScript, Yarn, npm等之后就消失了。