“ react-scripts build”正在使用1+ GB的RAM

时间:2019-09-02 20:35:04

标签: reactjs build react-scripts

我有一个相对简单的React 15网站。它只有几个不同的页面,主要是文本和一些图片。但是,当我使用react-scripts build构建用于生产部署的项目时,我发现节点进程在使用的1.25 GB RAM上达到最高。在工作站上构建时,这不是问题,但是在生产服务器上是个问题,目前我的生产服务器上只有1 GB的RAM。大多数情况下,服务器由于内存不足而终止了我的构建。

因此,看来我的选择是花费更多的钱来升级服务器上的2GB RAM,或者找到某种减少内存使用的方法。我想避免多付钱,因为通常我不使用超过200 MB的RAM来运行我的应用程序,而只是在构建它时使用大量RAM。

我似乎有人建议向构建中添加--max-old-space-size =标志,但这似乎无济于事。也就是说,我已经在我的package.json中尝试过此操作:

"build": "react-scripts --max-old-space-size=512 build"

但是它仍然使用超过1 GB的RAM。我通过“ npm run build”开始构建,然后在该npm命令中添加--max-old-space-size标志似乎没有任何作用。

我有什么办法可以防止react-scripts构建过程占用大量内存?

4 个答案:

答案 0 :(得分:1)

  1. 您可以在生产服务器上添加 swap 空间。请参阅this
  2. 您在生产服务器上使用的是哪个 node 版本? 尝试使用 nvm or other ways 升级您的 node 版本。我认为这对你来说是个问题。

答案 1 :(得分:0)

similar question的答案:

您只需将--max_old_space_size放入节点进程即可,而不是react-script。

例如node --max_old_space_size=512 node_modules/.bin/react-scripts build

答案 2 :(得分:0)

我遇到了类似的问题,但就我而言,它在我更新时帮助了我 CRA 自带的 react-scripts 包(create-react-app)。

如果您当前的版本是 3.x.x,请将其升级到 3 的最新版本,您可以从这里找到所有可用版本。

v3.x.x - https://github.com/facebook/create-react-app/blob/master/CHANGELOG-3.x.md

v2.x.x - https://github.com/facebook/create-react-app/blob/master/CHANGELOG-2.x.md

答案 3 :(得分:-1)

临时解决方案是设置更大的 max-old-space-size,如下所示。

<块引用>

react-scripts --expose-gc --max-old-space-size=8192