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

通过Snap安装的Flutter在Ubuntu 20.04下无法运行报错如何解决?

问题原因

该报错由以下两个核心原因触发:

  • 网络访问限制:Snap版Flutter首次运行时需要请求谷歌官方的版本元数据接口获取SDK下载信息,国内网络环境下无法获取到合法的JSON格式返回值,导致解析逻辑异常。
  • 解析逻辑崩溃:报错中的select(.hash==)说明元数据解析时没有拿到合法的版本hash值,导致jq表达式语法错误,无法拼接出正确的SDK下载地址,后续curl下载、tar解压步骤依次报错,最终初始化失败。
    非国内网络环境的用户出现该报错,一般是临时网络波动导致元数据拉取失败。
修复步骤

方案1:保留Snap安装的修复方案(适合不想更换安装方式的场景)

  1. 先配置Flutter国内镜像环境变量,终端执行以下命令(如果使用zsh终端,将所有.bashrc替换为.zshrc):
echo 'export PUB_HOSTED_URL=https://pub.flutter-io.cn' >> ~/.bashrc
echo 'export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn' >> ~/.bashrc
source ~/.bashrc
  1. 卸载现有Snap版Flutter并清除残留缓存:
sudo snap remove flutter
sudo rm -rf ~/snap/flutter/common/
  1. 重新安装Snap版Flutter:
sudo snap install flutter --classic
  1. 执行任意flutter命令触发初始化即可,此时会从国内镜像拉取元数据和SDK安装包,不会出现解析错误。

方案2:替换为官方压缩包安装(稳定性更高,推荐)

Snap版Flutter在Linux系统下存在较多权限适配问题,更推荐直接使用官方SDK压缩包安装:

  1. 卸载已安装的Snap版Flutter并清除残留:
sudo snap remove flutter
sudo rm -rf ~/snap/flutter
  1. 完成方案1的第一步,配置好Flutter国内镜像环境变量。
  2. 下载对应架构的Flutter稳定版SDK压缩包,解压到你想要存放的目录(例如~/opt/flutter)。
  3. 将Flutter可执行文件目录加入系统PATH,在/.bashrc或/.zshrc中新增一行配置:
export PATH="$PATH:~/opt/flutter/bin"

将路径替换为你实际解压的Flutter目录下的bin路径即可。
5. 执行source ~/.bashrc(或对应zsh配置文件)使配置生效,随后执行flutter doctor即可检查安装状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:54:03