npm-如何在npm中设置max-old-space-size

时间:2019-03-06 10:46:07

标签: node.js angular npm

构建角度项目时出现以下错误,

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" "$@"

2 个答案:

答案 0 :(得分:1)

可能您可以尝试一下,

> npm run start --node-flags --max-old-space-size=512 --no-warnings

> node --max-old-space-size=250 `which npm` some_npm_command

答案 1 :(得分:0)

我遇到了类似的问题,但我不得不增加 docker 内存大小。

Docker Screenshot