Sbt项目取决于外部&私有github存储库

时间:2013-09-18 14:47:10

标签: scala github sbt

this tutorial清楚地解释了如何使用以下命令在sbt项目中使用远程github依赖关系:

lazy val reponame = RootProject(uri("git://github.com/group/reponame.git"))
lazy val root = Project(id = "MLSS", base = file("."), settings = sharedSettings) dependsOn(reponame)

但是,如果远程仓库是私有的,它似乎无法工作并抛出

Repository not found.
Cloning into '/Users/.../b6958781f05b85672849/reponame'...
[error] Nonzero exit code (128): git clone git://github.com/group/reponame.git

它似乎是一个身份验证错误,但如何指定密钥? 感谢

2 个答案:

答案 0 :(得分:16)

对于私人仓库,您希望使用SSH,因此身份验证使用您的密钥而不是用户名&密码。 github提供的SSH URL git@github.com:group/reponame.git不是正确形成的URI,但它等同于ssh://git@github.com/group/reponame.git。我只是尝试了对这种格式化的私有repo URL的uri依赖,它对我有用。 Reference

答案 1 :(得分:3)

只使用https版本可以克隆repo(假设你的sshconfig中有密钥),但它没有将模块添加到类路径中:

lazy val pogistan = RootProject(uri("https://github.com/group/reponame.git"))