gpt4 book ai didi

node.js - 我在哪里设置 'NODE_OPTIONS=“–max-old-space-size=2048”'

转载 作者:行者123 更新时间:2023-12-03 12:10:25 32 4
gpt4 key购买 nike

当我在应用程序中运行“npm start”时,出现以下错误-
严重错误:无效的标记压缩接近堆限制分配失败-JavaScript堆内存不足

在线发布的大多数解决方案都是通过NODE_OPTIONS =“– max-old-space-size = 2048”来增加内存。但是我不知道在哪里设置。一些帖子谈到了我的项目没有的.bashrc文件。我也在Windows系统上。 “npm start”命令运行在package.json中设置的“npm run build-semantic && react-scripts start”。

最佳答案

可能有多种使用该标志的方法。
第一选择
OP最初寻找的是一种设置环境变量的方法。 NODE_OPTIONS --max-old-space-size环境变量允许增加Node的最大堆大小。设置环境变量使Node可以从您的环境中读取此值,因此我们不必每次运行Node命令时都将此值作为参数传递。这被设置为全局值,并且可以被每个Node进程使用。
设置环境变量的过程取决于操作系统。这是关于此的两个SO帖子:

  • Linux :Setting environment variables in Linux using Bash
  • Windows :How to set Environment variables from Windows

  • 提到的.bashrc文件OP在Linux环境中存在,大多数注释都提到重新加载bash是一种快速的方法,例如 source ~/.bashrc,它在当前 session 中加载env var。总是可以重新启动终端以重新加载,但是前者是首选!同样,如果使用Windows,则忽略此设置。
    第二选择
    现在,如果设置环境变量不是首选选项,则在运行node命令时始终可以使用 --max-old-space-sizeExample from Nodejs.org documentation
    $ node --max-old-space-size=1536 index.js
    第三选择
    另外,正如OP已经回答的那样,我们可以根据每个项目设置此值,但是实现可能会因项目而异。
    对于 npm脚本,此Git注释将其答复为 Best way to set --max-old-space-size when running npm( I reckon it's hyphens not underscore ):
    "scripts": 
    {
    "start": "cross-env NODE_OPTIONS=--max-old-space-size=4096 webpack"
    }
    在Angular项目中,您可以像这样定义它:
    "scripts":
    {
    "build-prod": "node --max-old-space-size=4096 ./node_modules/@angular/cli/bin/ng build --configuration=production"
    }

    关于node.js - 我在哪里设置 'NODE_OPTIONS=“–max-old-space-size=2048”',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56982005/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com