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

独立Dart程序中--dart-define参数无法正常生效问题排查

独立Dart程序使用--dart-define的正确方式

你的问题出在命令参数的位置错误:--dart-define是Dart SDK命令的参数,必须放在脚本文件名之前,而非之后。

错误命令:

dart main.dart --dart-define=MY_VALUE=SOME_VALUE

这里--dart-define会被当作main.dart的程序参数,而非Dart编译/运行时的环境变量参数,所以程序始终读取默认值。

正确命令:

dart --dart-define=MY_VALUE=SOME_VALUE main.dart

将--dart-define放在dart命令与脚本文件之间,Dart运行时才能正确解析这个编译时环境变量。

补充说明:

  • 传递多个环境变量时,重复--dart-define参数即可:
dart --dart-define=VAR1=VAL1 --dart-define=VAR2=VAL2 main.dart
  • Flutter应用中flutter run --dart-define=...能生效,是因为flutter命令会自动将该参数转发给底层Dart编译流程,参数位置要求和纯Dart程序不同。

用正确命令运行你的代码,即可输出My value: SOME_VALUE。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:55:13