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

如何在Yarn 2(Berry)中向脚本传递参数?

Yarn 2(Berry)给npm脚本传参的解决方法

问题核心原因

Yarn 2(Berry)调整了参数解析逻辑,不再像Yarn 1那样自动将后续参数传递给脚本,需要显式区分Yarn自身参数与脚本参数。

具体解决步骤

1. 修改调用命令

执行脚本时,必须用--作为分隔符,把要传递的参数放在--之后:

yarn output-it -- 'hello world'

--的作用是告诉Yarn:将其后的所有内容直接传递给目标脚本,不被Yarn自身解析处理。

2. 优化脚本配置(可选,提升健壮性)

如果需要支持多参数传递,可以把package.json里的脚本改为用$@(接收所有传入的参数)替代原来的$1:

"scripts": {
   "output-it": "bash my-script.sh $@"
}

这样无论传递多少个参数,都能完整传递给你的shell脚本。

验证效果

执行修改后的命令,shell脚本就能正常接收并输出参数:

yarn output-it -- 'hello world'
# 输出结果:output: hello world

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:51:32