描述bug
- fork-ts-checker-webpack-plugin* 没有从
NODE_OPTIONS
调用--max-old-space
。
你尝试恢复依赖关系了吗?
$ npm --version
6.14.8
$ node --version
v12.19.1
$ cat package.json | grep \"react-scripts\"
"react-scripts": "~3.4.3"
$ cat package-lock.json | grep -A 2 \"react-scripts\"
"react-scripts": {
"version": "3.4.4",
"resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-3.4.4.tgz",
环境
FROM node:12.19.1-alpine3.12
PID USER TIME COMMAND
1 root 0:00 {node} npm
16 root 0:00 node /opt/app/node_modules/.bin/react-scripts build
23 root 1:18 node /opt/app/node_modules/react-scripts/scripts/build.js
34 root 0:51 /usr/local/bin/node --max-old-space-size=2048 /opt/app/node_modules/fork-ts-checker-webpack-plugin/lib/service.js
45 root 0:00 /bin/sh
54 root 0:00 ps
/opt/app # cat /proc/34/environ | tr '\0' '\n' | grep NODE_OPTIONS
NODE_OPTIONS=--max-old-space-size=4096
/opt/app # cat .env.production | grep NODE_OPTIONS
NODE_OPTIONS=--max-old-space-size=4096
重现步骤
- .env.production*
NODE_OPTIONS=--max-old-space-size=4096
在 node:12.19.1-alpine3.12
docker 镜像中执行 npm run build
。
预期行为
使用 NODE_OPTIONS
配置的 max-old-space-size
值。
实际行为
总是使用 --max-old-space-size=2048
。
导致:
<--- Last few GCs --->
[23:0x55822a148e00] 183795 ms: Mark-sweep 987.2 (995.5) -> 986.4 (995.5) MB, 804.3 / 0.2 ms (average mu = 0.210, current mu = 0.191) allocation failure scavenge might not succeed
[23:0x55822a148e00] 185184 ms: Mark-sweep 987.0 (995.5) -> 986.5 (995.8) MB, 1249.9 / 0.1 ms (average mu = 0.148, current mu = 0.100) allocation failure GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x558228289b39]
Security context: 0x25445edc08d1 <JSObject>
1: SourceNode_walk [0x22ffba46da21] [/opt/app/node_modules/webpack-sources/node_modules/source-map/lib/source-node.js:~221] [pc=0x3d2731fba85](this=0x31ad9ffd6409 <SourceNode map = 0x3d40622bbfd9>,0x1b75d4f9e431 <JSFunction (sfi = 0x348957ffd339)>)
2: SourceNode_walk [0x22ffba46da21] [/opt/app/node_modules/webpack-sources/node_modules/source-map/lib/...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
npm ERR! code ELIFECYCLE
npm ERR! errno 1
4条答案
按热度按时间wlsrxk511#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
9rnv2umw2#
NODE_OPTIONS
环境变量通过.env.*
文件设置被忽略。例如,我尝试将
NODE_OPTIONS=--openssl-legacy-provider
设置为能够在 Node 17(如此处所述:webpack/webpack#14532(评论))启动CRA应用程序-但没有成功。bybem2ql3#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
af7jpaap4#
我们也在设置变量
export NODE_OPTIONS=--max-old-space-size=6144
后遇到了相同的错误。