我删除了现有的Node.js模块,并运行了以下命令来解决我的问题:
npm install -all
npm audit fix
对我而言,问题出在多了一个node_modules
文件夹,我把它重命名为node_modules_old
并运行了npm install
以生成一个新的node_modules
。不知何故,构建过程仍在使用node_modules_old
文件夹,所以我把node_modules_old
移出该目录以解决问题。
node_modules.old
的文件夹。 - user995551rm -rf node_modules **/node_modules && rm -rf yarn.lock **/yarn.lock && yarn cache clean && yarn install
只需运行此命令:
export NODE_OPTIONS="--max-old-space-size=8192"
node -v
如果版本号是10.1.1或更高,那么您需要通过以下命令更新根目录下的Node.js版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
source ~/.nvm/nvm.sh
nvm ls
nvm install 12.18.1
完成后,请重新启动您的终端或Visual Studio。
它可以100%正常工作。
对于Ionic用户,请在您的package.json中添加以下代码:
"ionic:build": "node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",
另一个与Angular无关的解决方案(我在使用AWS Amplify构建React应用程序时遇到了同样的问题)。
正如Emmanuel所提到的,这似乎源于Node.js v10与Node.js v12处理内存的方式不同。
我尝试增加内存,但没有成功。但是使用Node.js v12就可以了。
请查看如何将nvm use $VERSION_NODE_12
添加到您的构建设置中,如richard所解释的。
frontend:
phases:
preBuild:
commands:
- nvm use $VERSION_NODE_12
- npm ci
build:
commands:
- nvm use $VERSION_NODE_12
- node -v
- npm run-script build
最终,升级到Node.js 16.4.2 LTS后,问题得到了解决。
如果你在Windows上进行开发并在发布时遇到此问题,请通过官方网站升级Node.js。
随着每个新版本的Node.js,内存使用处理确实会增加,尽管我没有找到确切的数字来说明增加量是多少。
这是唯一对我有效的解决方案。花费了我整整一个周末甚至更长时间来解决这个问题。