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

Windows10系统pub global activate安装的Dart全局包每次运行都执行两次

问题诱发原因

你遇到的是Dart 2.12~2.13稳定版在Windows平台的已知原生bug:pub global activate生成的全局包启动批处理(.bat)脚本存在逻辑缺陷,脚本内的条件分支没有配置执行后退出逻辑,第一个分支调用dart运行目标包后,没有终止脚本进程,会继续向下执行第二个分支的重复dart调用,最终表现为全局包程序被触发两次。

可行解决方案

  • 方案1:升级Dart SDK到2.14.0及以上稳定版本
    该bug在Dart 2.14.0版本已被官方修复,升级完成后重新执行一次pub global activate <对应包名>覆盖旧的启动脚本即可解决问题。
  • 方案2:手动修改现有全局包启动脚本(适合暂时无法升级SDK的场景)
    1. 打开pub全局缓存的bin目录,默认路径为%LOCALAPPDATA%\Pub\Cache\bin
    2. 找到对应全局包的.bat启动文件,用任意文本编辑器打开
    3. 给脚本中每一行执行dart命令的语句末尾,添加exit /b %errorlevel%,保证单次调用完成后直接退出脚本,不会触发后续重复执行逻辑
  • 方案3:使用官方指定的全局包调用命令
    直接运行dart pub global run <包名>启动目标包,该调用方式不会走生成的bat脚本,可完全规避重复执行问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:39:03