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

执行dart pub add添加Git SSH依赖报错,是否必须改用HTTPS?

Dart Pub使用SSH协议添加依赖的正确方式

可以用SSH协议添加依赖,你遇到的问题是命令格式不正确,并非SSH协议本身不支持。

错误原因

你使用的git@git.test.com:tong/my_package.git是Git的scp风格地址,但--git-url参数要求传入标准URL格式,这种scp写法不符合URL规范,因此会触发"非法协议字符"的错误提示。

两种正确的命令写法

方式一:转成标准SSH URL格式

将scp风格地址改为带ssh://前缀的URL,同时把地址中的冒号替换为斜杠:

pub add my_package --git-url=ssh://git@git.test.com/tong/my_package.git --git-ref=0.0.1

方式二:直接使用scp风格地址(无需--git-url参数)

省略--git-url参数,直接在依赖名后拼接scp地址和版本标签(用#分隔版本号):

pub add my_package:git@git.test.com:tong/my_package.git#0.0.1

额外检查点

如果执行正确命令后仍失败,先确认本地SSH密钥已配置完成,能正常访问该私有仓库——可以先测试git clone git@git.test.com:tong/my_package.git能否成功,因为Pub拉取Git依赖本质是调用本地Git命令,Git能正常操作的话Pub就能正常拉取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 00:53:10