在python子流程中构建react项目时JavaScript内存不足

在python子流程中构建react项目时JavaScript内存不足,python,node.js,npm,subprocess,Python,Node.js,Npm,Subprocess,我想在我的服务器上自动部署react应用程序。我有一个github webhook事件,它会命中python Flask端点,然后在子流程中运行npm run build:stage 如果我在ssh登录会话中运行build命令,它工作正常,生成build,但是当webhook启动并且命令通过python子进程运行时,我看到以下错误: 执行命令的Python代码: p = subprocess.Popen(command, cwd=cwd, stdout=subprocess.PIPE, stde

我想在我的服务器上自动部署react应用程序。我有一个github webhook事件,它会命中python Flask端点,然后在子流程中运行
npm run build:stage

如果我在ssh登录会话中运行build命令,它工作正常,生成build,但是当webhook启动并且命令通过python子进程运行时,我看到以下错误:

执行命令的Python代码:

p = subprocess.Popen(command,
cwd=cwd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True)
服务器:CentOS Linux 7.6.1810版(核心版)

不知道如何继续下去

更新:


我升级了我的托管计划,将RAM从4GB增加到6GB。现在,如果我在python控制台中运行python snipper,生成的版本会很好,但是当它通过webhook Through flask应用程序运行时,我仍然看到它由于上述错误而失败。

最终,我无法让它工作,并将我们的react应用程序宿主移动到了最终,我无法让它工作,并将react应用程序宿主移动到了
09/05/2020 02:42:59 PM +08 : INFO : Process Output: 
> laravel-app@0.1.0 build:stage /home/user/reactapp
> env-cmd -f .env.prod react-scripts build

Creating an optimized production build...

<--- Last few GCs --->

[5541:0x2bc1760]    19190 ms: Scavenge 524.4 (551.5) -> 516.9 (554.2) MB, 10.4 / 0.0 ms  (average mu = 0.989, current mu = 0.988) allocation failure 
[5541:0x2bc1760]    19217 ms: Scavenge 528.1 (555.1) -> 528.0 (559.4) MB, 16.6 / 0.0 ms  (average mu = 0.989, current mu = 0.988) allocation failure 
[5541:0x2bc1760]    19432 ms: Scavenge 533.1 (560.0) -> 532.7 (563.7) MB, 209.0 / 0.0 ms  (average mu = 0.989, current mu = 0.988) allocation failure 


<--- JS stacktrace --->
Cannot get stack trace in GC.

09/05/2020 02:42:59 PM +08 : ERROR : Process Error: FATAL ERROR: Scavenger: semi-space copy Allocation failed - JavaScript heap out of memory
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! laravel-app@0.1.0 build:stage: `env-cmd -f .env.prod react-scripts build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the laravel-app@0.1.0 build:stage script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2020-09-05T06_42_59_795Z-debug.log
09/05/2020 03:10:16 PM +08 : INFO : Process Output:
> laravel-app@0.1.0 build:stage /home/user/reactapp
> env-cmd -f .env.prod react-scripts --max_old_space_size=4096 --max-semi-space-size=4096000 build

Creating an optimized production build...

<--- Last few GCs --->

[7923:0x2e1d950]    33699 ms: Scavenge 415.5 (451.4) -> 412.5 (535.7) MB, 37.8 / 0.0 ms  (average mu = 0.858, current mu = 0.000) allocation failure 
[7923:0x2e1d950]    33913 ms: Scavenge 474.0 (542.3) -> 438.2 (546.6) MB, 36.2 / 0.0 ms  (average mu = 0.858, current mu = 0.000) allocation failure 
[7923:0x2e1d950]    34236 ms: Scavenge 480.8 (549.1) -> 454.3 (567.2) MB, 77.7 / 0.0 ms  (average mu = 0.858, current mu = 0.000) allocation failure 


<--- JS stacktrace --->
Cannot get stack trace in GC.

09/05/2020 03:10:16 PM +08 : ERROR : Process Error: FATAL ERROR: NewSpace::Rebalance Allocation failed - JavaScript heap out of memory
 1: 0x9d8da0 node::Abort() [node]
 2: 0x9d9f56 node::OnFatalError(char const*, char const*) [node]
 3: 0xb37dbe v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
 4: 0xb38139 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
 5: 0xce34f5  [node]
 6: 0xd2a8ae  [node]
 7: 0xd2e627 v8::internal::MarkCompactCollector::CollectGarbage() [node]
 8: 0xcef049 v8::internal::Heap::MarkCompact() [node]
 9: 0xcefdb3 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]
10: 0xcf0925 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
11: 0xcf1fcf v8::internal::Heap::HandleGCRequest() [node]
12: 0xca0fb4 v8::internal::StackGuard::HandleInterrupts() [node]
13: 0xfef887 v8::internal::Runtime_StackGuard(int, unsigned long*, v8::internal::Isolate*) [node]
14: 0x13725d9  [node]
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! laravel-app@0.1.0 build:stage: `env-cmd -f .env.prod react-scripts --max_old_space_size=4096 --max-semi-space-size=4096000 build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the laravel-app@0.1.0 build:stage script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2020-09-05T07_10_16_341Z-debug.log

# npm -v
6.12.0
# node -v
v12.13.0