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

如何在shell中正确执行带参数的yarn dotenv prisma组合命令

参数透传失败原因

该问题由多层命令嵌套的参数边界未正确分隔导致:你当前的命令涉及yarn workspace、dotenv-cli、prisma三层命令解析逻辑,仅添加一次--仅完成了dotenv层的参数分隔,yarn workspace层仍会错误拦截后续的prisma专属参数。

解决方案

按优先级推荐以下可行写法:

方案1:双层双破折号分隔(适配90%以上yarn版本)

给yarn和dotenv各加一层参数分隔符,明确透传规则:

yarn workspace @nl/server run dotenv -e .env.development -- -- prisma --preview-feature db seed

规则说明:

  • 第一层--告知yarn,后续所有参数都传递给dotenv命令
  • 第二层--告知dotenv,后续所有内容都是要执行的prisma命令及专属参数

方案2:引号包裹prisma完整命令(兼容性最高)

如果方案1不生效,直接用引号把prisma的完整执行语句打包作为dotenv的执行目标,完全避免参数拆分错误:

yarn workspace @nl/server dotenv -e .env.development -- "prisma --preview-feature db seed"

方案3:Node脚本内直接注入环境变量

如果是在Node.js脚本中生成执行命令,可绕开dotenv-cli直接处理:读取.env文件内容注入到process.env后,再通过子进程调用prisma命令,完全避免多层命令的参数透传问题。

前置校验项
  • 确认项目安装的是dotenv-cli而非基础dotenv库,基础dotenv没有命令行执行子命令的能力,会直接导致参数解析异常
  • 确认当前prisma版本仍需要--preview-feature参数,prisma 4.0+版本中大部分特性已转正,部分场景下该参数已被废弃,强行添加反而会报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:30:01