You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在forever搭配npm run启动命令中传递--max-old-space-size参数

在Forever中传递Node.js内存限制参数的解决方案

我来帮你搞定这两个关于Forever和--max-old-space-size参数的问题,核心都是让Node.js进程接收到这个内存限制参数,只是不同场景下的传递路径略有区别~


场景1:使用Forever配合npm run start传递参数

有两种灵活的方式可以实现:

方法1:修改package.json的启动脚本(最直观)

直接在你的package.json里把内存参数加到start脚本对应的Node命令中:

{
  "scripts": {
    "start": "node --max-old-space-size=8192 src/server.js"
  }
}

之后直接用Forever启动即可,npm会执行已经带参数的Node命令:

forever start -c "npm run start" .

方法2:通过npm的--node-args动态传递(无需修改配置)

如果不想改动package.json,可以在调用npm时用--node-args参数,把内存限制直接传给Node.js进程:

forever start -c "npm run start --node-args='--max-old-space-size=8192'" .

场景2:使用forever start -c "npm run start:local" src/server.js时传递参数

这个场景下,你通过-c指定了要执行的npm脚本,同时还传入了src/server.js,这里分两种情况处理:

方法1:修改start:local脚本(推荐)

和场景1的思路一致,直接在package.json里给start:local脚本加上内存参数:

{
  "scripts": {
    "start:local": "node --max-old-space-size=8192 src/server.js"
  }
}

之后用你原来的命令启动就可以了,参数会自动生效:

forever start -c "npm run start:local" src/server.js

方法2:通过--node-args动态传递(不修改配置)

如果不想改动package.json,同样用--node-args把参数附加到npm命令后:

forever start -c "npm run start:local --node-args='--max-old-space-size=8192'" src/server.js

⚠️ 注意:--node-args要紧跟在start:local脚本名后面,确保参数被正确传递给执行脚本的Node进程,不要放到命令末尾。

另外补充一点:如果你的start:local脚本包含复杂逻辑(比如不是直接调用node),那优先选择修改脚本的方式,这样参数传递更明确,不容易出现遗漏或冲突。

内容的提问来源于stack exchange,提问作者Kapil Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:38:05