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

Yarn 3.1.0运行含export的脚本提示command not found: export问题咨询

错误原因

Yarn 3.x 默认改用内置的极简脚本解析器执行package.json中的scripts命令,不会默认调用系统shell。export是shell内置命令,不是独立存在的可执行文件,内置解析器无法识别该命令,所以会抛出command not found: export错误。而Yarn 1.x默认调用系统shell执行脚本,所以可以正常识别export等shell内置特性。

解决方案

方案1:还原Yarn 1.x的执行逻辑(无需修改原有脚本)

在项目根目录的.yarnrc.yml配置文件中添加以下配置,指定Yarn调用系统shell执行脚本:

scriptShell: bash

Windows系统可根据需求替换为scriptShell: cmd或scriptShell: powershell,配置完成后原有包含export、管道、&&连接符等shell特性的脚本不需要修改即可正常运行。

方案2:使用Yarn 3.x原生环境变量设置方式

不需要修改shell配置,可通过两种官方推荐的方式设置环境变量:

  • 静态全局配置:在项目根目录新建.env文件,直接写入需要的环境变量即可,Yarn 3.x运行脚本时会自动加载该文件内的所有变量,示例.env内容:
    NODE_ENV=development
    
  • 单次命令传递:执行脚本时直接在命令前加环境变量,不需要写export和连接符,示例:
    yarn NODE_ENV=development someScript
    

方案3:跨包管理器跨平台兼容写法

如果项目需要兼容不同包管理器或者跨Windows、Mac、Linux运行,可以使用cross-env工具统一设置环境变量:

  1. 安装开发依赖:yarn add -D cross-env
  2. 修改scripts配置:
    "scripts": {
      "someScript": "cross-env NODE_ENV=development ..."
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:36:03