报错信息
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
解决方法
方法1 (尝试无效)
此方法使用到三方插件
使用后会在node_modules
的包内添加--max-old-space-size=10240
1. 全局安装
npm i -g increase-memory-limit
2. 在项目根目录运行命令
increase-memory-limit
使用此方法后打包的时候也会报错, 大致错误为 不支持词语法。
百度查到这个写法在 node v8.0
之后以废弃
方法2 (测试可用)
将打包命令修改为
"build:prod": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js build"
在此文件内,我是重新添加了一条命令进行测试。可直接修改 build:prod
命令
修改后可能会遇到以下错误,个人理解大致意思为:
无法找到当前 node v12.x 版本环境,当前找到 node v8.x 版本
应该是 package.json
中的node 版本 或者某些依赖所需的版本node 版本。
只需修改当前找到的对应 node 版本即可
windows 可使用 nvm 来管理 node 版本
Mac OS 可使用 n 来管理 node 版本
如果启动项目也存在 内存溢出情况应该也可使用此方法解决
"serve": "node --max_old_space_size=4096 node_modules/@vue/cli-service/bin/vue-cli-service.js serve --open"