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

Mer*_*moz 8 scala github sbt

本教程清楚地解释了如何使用以下命令在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)
Run Code Online (Sandbox Code Playgroud)

但是,如果远程仓库是私有的,它似乎不起作用并抛出一个

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

它似乎是一个auth错误,但如何指定密钥?谢谢

Kel*_*nis 16

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


Mer*_*moz 3

仅使用 https 版本就可以很好地克隆存储库(前提是您的 sshconfig 中有密钥),但它不会将模块添加到类路径中:

lazy val pogistan = RootProject(uri("https://github.com/group/reponame.git"))
Run Code Online (Sandbox Code Playgroud)