Ответ 1
Используйте полный путь SSH, а не Git s стенографию:
git = "ssh://landmachine/bar/foo"
У меня есть учетная запись на дружественной ssh машине, где я храню много частных проектов, поэтому я могу получить к ним доступ с нескольких компьютеров (и это позволяет мне использовать только мои небольшие частные репозитории Github для вещей, которые будут работать несколько человек).
Кажется, что Rust хорошо оборудован для получения локальных и общедоступных данных, используя такие вещи, как
[dependencies.foo]
git = "https://github.com/bar/foo"
[dependencies.baz]
path = "/path/to/baz"
Но я не нашел способ заставить его работать с помощью ssh git (например, git = "[email protected]:bar/foo"
или в моем случае labmachine:bar/foo
). У меня есть пароль без пароля /keygen ssh, если это помогает.
Это не имеет большого значения, если этого не существует. На данный момент я просто клонирую репозиторий вручную и используя path = ../foo
, который работает до тех пор, пока я сохраняю структуру каталогов одинаковой и не забудьте вручную pull
все зависимости от всех моих машин. Тем не менее, это сделало бы намного проще, если бы я мог просто настроить Cargo, чтобы сделать это, особенно если мне просто нужно быстро что-то демо на моем ноутбуке или что-то еще.
Используйте полный путь SSH, а не Git s стенографию:
git = "ssh://landmachine/bar/foo"
В macOS Sierra мне пришлось создать файл .ssh/config
следующим образом:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
с указанным файлом закрытого ключа (RSA), а затем выполните команду:
ssh-add -K ~/.ssh/id_rsa
который (наконец!) разрешил запись вроде:
git = "ssh://[email protected]/skipjaq/loda.git"
чтобы работать отлично.
Я не знаю, как часто мне придется повторять команду ssh-add
, но кажется, что это должно продолжаться, по крайней мере, до следующей перезагрузки.
Эта аномалия, по-видимому, является признаком ssh-agent
для macOS Sierra.