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

Yarn运行带参数脚本问题:mkdir -p test执行时目录生成异常求助

解决Yarn运行脚本时参数解析异常的问题

嘿,我之前也碰到过一模一样的情况!当你用yarn generate执行mkdir -p test时,Yarn把-p当成了要创建的目录名,而不是mkdir的选项,这才会生成-p和test两个目录。问题出在Yarn默认调用的shell上——在某些环境下(比如Windows默认用cmd,或者系统默认shell不是bash),它没办法正确识别命令里的短选项参数。

给你几个靠谱的解决办法:

  • 强制用bash执行命令:修改package.json里的scripts配置,把命令用bash包裹起来,让bash来解析参数:

    "scripts": {
      "generate": "bash -c 'mkdir -p test'"
    }
    

    这样Yarn会调用bash去执行后面的命令,-p就能被正确识别为mkdir的选项,只会生成test目录(如果父目录不存在的话会自动创建)。

  • 用长选项替代短选项:如果你的环境对短选项支持不好,试试用mkdir的长选项--parents,它和-p功能完全等价:

    "scripts": {
      "generate": "mkdir --parents test"
    }
    
  • 调整Yarn的默认shell:如果你是Windows用户且安装了Git Bash/WSL,可以设置Yarn默认用bash执行脚本。在终端运行以下命令(路径根据你Git Bash的实际安装位置调整):

    yarn config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"
    

    设置完成后再运行yarn generate,应该就能正常工作了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:32:37