是否可以从私有远程git获取Cargo fetch依赖项?

时间:2015-07-29 15:17:59

标签: rust rust-cargo

我在一个ssh友好的实验室机器上有一个帐户,我存储了很多私人项目,所以我可以从多台计算机上访问它们(它允许我只使用我的几个私人Github存储库来处理多个人将要工作的事情)。

看起来Rust有能力通过使用

之类的东西来获取本地和公共数据
[dependencies.foo]
git = "https://github.com/bar/foo"

[dependencies.baz]
path = "/path/to/baz"

但我还没有找到一种方法让它使用ssh git(例如git = "git@github.com:bar/foo"或我的labmachine:bar/foo)。我有无密码/ keygen ssh设置,如果有帮助的话。

如果它不存在,这不是什么大问题。目前我只是手动克隆存储库并使用path = ../foo,只要我保持目录结构相同,并且记得在我的所有计算机上手动pull所有依赖项。但是,如果我可以设置Cargo来做这件事会让事情变得容易多了,特别是如果我只需要在我的笔记本电脑上快速演示一些东西。

2 个答案:

答案 0 :(得分:6)

在macOS Sierra上,我必须创建一个Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 文件,如下所示:

ssh-add -K ~/.ssh/id_rsa

指向私钥(RSA)文件,然后发出命令:

git = "ssh://git@github.com/skipjaq/loda.git"

(终于!)允许输入如下:

ssh-add

完美地工作。

我不知道我多久会重复ssh-agent命令,但看起来这应该至少等到下次重启。

这种异常显然是macOS Sierra上2 100 119 107 89 125 112 121 99 124 126 123 103 128 77 85 86 115 66 117 106 75 74 76 96 93 73 109 127 110 67 65 80 1 8 5 23 19 2 36 13 16 24 59 15 22 48 49 57 46 47 27 51 6 30 7 31 41 17 43 53 34 37 42 61 54 2 70 122 81 83 72 82 105 88 95 108 94 114 98 102 71 104 68 113 78 120 84 97 92 116 101 90 111 91 69 118 87 79 1 35 14 12 52 58 56 38 45 26 32 39 9 21 11 40 55 50 44 18 20 63 10 60 28 1 64 4 33 3 25 62 29 的一个特征。

答案 1 :(得分:2)

使用完整的SSH路径而不是Git的简写:

git = "ssh://landmachine/bar/foo"