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

如何在pm2 install时向npm传递--no-optional参数?

解决pm2 install pm2-fluentd在受限网络中超时的问题

我之前在受限网络环境里也碰到过一模一样的坑,给你两个亲测有效的解决办法:

方法1:临时配置npm禁用可选依赖

先给npm全局设置跳过可选依赖,再执行pm2安装命令,完成后可以按需恢复默认配置:

npm config set optional false
pm2 install pm2-fluentd
# 安装完成后如果需要恢复npm默认行为,执行下面这句
npm config delete optional

方法2:直接给pm2传递npm参数

pm2的install命令支持通过--npm-args把参数透传给底层调用的npm,直接用这个方式就能让pm2安装时跳过可选依赖:

pm2 install pm2-fluentd --npm-args="--no-optional"

问题根源说明

pm2安装插件时,默认会调用npm install但不会自动带上--no-optional参数,所以会尝试拉取pm2-fluentd里声明的可选依赖gkt(对应地址https://tgz.pm2.io/gkt-1.0.0.tgz),而受限网络下无法访问这个地址,就会一直挂起直到超时。你单独用npm install --no-optional pm2-fluentd能成功,是因为手动跳过了可选依赖,但pm2 install不会自动复用这个设置,所以得手动传递参数或者预先配置npm。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:24:04