如何在Windows中使用NODE_OPTIONS环境变量全局设置max_old_space_size?

Zag*_*Zag 5 windows environment-variables node.js

解决方法:在运行节点二进制文件时解决堆内存不足的问题(这是使用TypeScript 2.1+和webpack时的常见问题),正在增加节点的最大内存。

增加内存限制 是一个软件包。在链接中,它说

从2017年8月发布的Node.js v8.0开始,您现在可以使用NODE_OPTIONS环境变量来全局设置max_old_space_size。导出NODE_OPTIONS =-max_old_space_size = 4096

但是,如何在Windows中设置该环境变量?在Powershell中,它给我一个错误:“导出:术语'导出'不被识别为cmdlet,函数,脚本文件或可运行程序的名称。请检查名称的拼写,或者是否包含路径,验证路径正确无误,然后重试。”。

Pet*_*sma 52

export是一个 Linux 命令。您可以set用于 Windows:

set NODE_OPTIONS=--max_old_space_size=4096

  • 如何检查这个是否被应用? (26认同)
  • 这个答案是错误的,请编辑以使用文档中的 ` --max-old-space-size` 标志的语法,使用连字符而不是下划线:https://nodejs.org/dist/latest-v16.x /docs/api/cli.html#--max-old-space-size大小以兆字节为单位 (4认同)
  • 这将帮助您从版本 10.14.1 开始 v8.getHeapStatistics().total_available_size / 1024 / 1024 命令行参数和环境变量 NODE_OPTIONS 都可以工作 (3认同)
  • 使用 set NODE_OPTIONS=--max_old_space_size=4096 设置它之后,当我使用以下命令检查它时: node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))' 它尚未增加... .. (2认同)

Edw*_*ang 34

如果使用 powershell 运行,设置 NODE_OPTIONS 的命令应如下所示:

$env:NODE_OPTIONS="--max-old-space-size=8192"
Run Code Online (Sandbox Code Playgroud)

然后您可以使用以下命令检查它是否应用:

node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
8240
Run Code Online (Sandbox Code Playgroud)