运行时
npm install -g ionic
我收到以下错误:
致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足
有没有办法全局增加node.js内存限制?
您可以使用以下方式启动 NPM:
node --max-old-space-size=8000 $(which npm) install -g ionic
如此处所述,默认值为 4000 (4Gb)。
我将其标记为重复,但以防万一有人遇到它,我在https://stackoverflow.com/a/48895989/4200039:
发布了此问题的现代解决方案自 2017 年 8 月发布的 v8.0 起,NODE_OPTIONS 环境变量公开了此配置(请参阅 NODE_OPTIONS 已登陆 8.x!)。根据本文,仅允许源中列入白名单的选项,其中包括“--max_old_space_size”。
所以我放入了我的.bashrc: 导出 NODE_OPTIONS=--max_old_space_size=4096
运行这些命令
npm install -g 增加内存限制
从项目的根位置运行:
增加内存限制
查看此处了解更多详细信息https://www.npmjs.com/package/increase-memory-limit
尝试一下,
node --max-old-space-size=<size>
,其中大小以兆字节为单位。
就我而言,我有一个我没有观察到的递归函数。递归可能会使堆内存不足。
我在使用 WSL-Ubuntu 2 时遇到了同样的问题。
只需在 Windows 中移动到 C:/Users/Max 并使用以下输入创建一个名为 .wslconfig 的文件:
[wsl2]
memory=16GB
(如果你想要更少的内存,请调整)
这对我有用。 “Max”只是当前用户的一个例子
使用纱线安装 相信我:)
对于 pacakge.json 文件中的 Angular 11 / 10 进行以下更改
来源链接
"scripts": {
"ng": "ng",
"start": "node --max_old_space_size=2192 ./node_modules/@angular/cli/bin/ng serve",
"build": "node --max_old_space_size=2192 ./node_modules/@angular/cli/bin/ng build",
.....
},
运行命令后为我解决了:
npm update
它将更新所有依赖项(小心损坏的更改)。也许
webpack-cli
依赖性是造成此问题的原因。
尝试这个生活窍门
NODE_OPTIONS="--max-old-space-size=2048" npm install -g ionic
我的 .npmrc 文件中的前缀不正确。通过迁移到新的公司设备,此路径不再与旧的 Nodejs 文件夹匹配。在 npm install 上,命令会冻结很长时间并抛出 java out of heap 异常,而没有合适的答案。
我已将其删除并且有效。
prefix=D:\development\nodejs