【发布时间】:2019-03-06 10:46:06
【问题描述】:
我在构建 Angular 项目时遇到以下错误,
CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足
我在某处看到在 npm 中配置 max-old-space-size 可以解决问题。但我不知道如何设置它。我使用的是 Windows 操作系统,并且在 nodejs 安装文件夹(C:\Program Files\nodejs)中有两个 npm 文件,npm 和 npm.cmd。 npm.cmd 文件中的第一行是“由 npm 创建,请不要手动编辑”。所以我不应该编辑这个文件,我必须在 npm 文件中配置 max-old-space-size。但我不需要在这个文件中配置它。我的 npm 文件如下所示,
#!/bin/sh
(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
basedir=`dirname "$0"`
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
NODE_EXE="$basedir/node.exe"
if ! [ -x "$NODE_EXE" ]; then
NODE_EXE=node
fi
NPM_CLI_JS="$basedir/node_modules/npm/bin/npm-cli.js"
case `uname` in
*MINGW*)
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
fi
;;
*CYGWIN*)
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
fi
;;
esac
"$NODE_EXE" "$NPM_CLI_JS" "$@"
【问题讨论】:
-
还有你的node和npm的版本是什么?
-
@angular/cli: 1.4.10 节点: 6.10.3 操作系统: win32 x64 @angular/animations: 4.1.3 @angular/cdk: 2.0.0-beta.11 @angular/common: 4.1.3 @angular/compiler: 4.1.3 @angular/core: 4.1.3 @angular/forms: 4.1.3 @angular/http: 4.1.3 @angular/material: 2.0.0-beta.1 @angular/平台浏览器:4.1。 @angular/platform-browser-dynam @angular/router: 4.1.3 @angular/cli: 1.4.10 @angular/compiler-cli: 4.1.3 @ngtools/json-schema: 1.1.0 typescript: 2.2.0
-
这能回答你的问题吗? ng build --prod error : FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory - 链接的问题首先被问到并且已经有一个被接受的答案。