能否在Dartpad.dev更改Dart/Flutter SDK版本?操作流程是什么?
在Dartpad.dev修改Flutter/Dart SDK版本的方法
核心结论
Dartpad.dev不支持自定义任意切换Flutter/Dart SDK版本,仅提供有限的版本选择方式,且无法降级到2.12.0以下的版本(这也是你添加// @dart=2.9报错的原因)。
可用的版本调整方式
目前Dartpad仅支持两种调整方式:
- 通过链接参数切换空安全兼容模式
在Dartpad的URL末尾添加?null_safety=false,可切换到兼容Dart 2.11及以下的无空安全模式;默认状态为启用空安全(对应Dart 2.12+)。注意:这只是切换语言特性兼容模式,并非真正切换到指定版本的SDK。 - 选择官方预定义的Flutter版本通道
点击Dartpad右上角的齿轮图标打开设置,找到“Flutter版本”选项,可选择**稳定版(Stable)、测试版(Beta)、开发版(Dev)**三个官方预定义通道,每个通道对应固定的SDK版本,无法自定义输入版本号。
无法降级到2.12.0以下的原因
Dartpad后续版本已移除对2.12.0之前版本的支持,强制要求语言版本≥2.12.0,因此直接通过// @dart=xxx指定旧版本会触发报错。
原问题详情
背景信息
我当前正在开发一个需要使用Dartpad.dev的项目,希望根据自身需求修改Flutter/Dart SDK版本。
在常规开发环境中,可通过更新pubspec.yaml文件来更改SDK版本,示例配置如下:
environment: sdk: ">=2.11.0 <3.0.0"
但鉴于Dartpad.dev的特殊环境,我不确定该如何实现这一操作。
已尝试操作
为更改SDK版本,我曾在Dartpad文件开头添加以下代码:
// @dart=2.9
但操作后收到错误提示:
The language version must be >=2.12.0.
这让我怀疑该环境是否支持降级SDK版本。
问题
- 是否可以在Dartpad.dev上更改Flutter/Dart SDK版本?如果可以,具体流程是什么?
补充说明
我记得在空安全特性尚处于实验阶段的时期,可通过修改Dartpad链接的查询参数来启用或禁用空安全。但我的需求不止于此,我希望更改实际的Dart SDK版本,而非仅切换空安全状态,这种自定义操作在Dartpad.dev上是否可行?
内容的提问来源于stack exchange,提问作者MendelG
相关产品推荐
相关产品推荐

