Cargo: Cargo obtiene un código de repositorio privado de gitlab fallido por git-credentials store

Creado en 18 nov. 2019  ·  3Comentarios  ·  Fuente: rust-lang/cargo

Problema

Cargo obtiene el código del repositorio privado de gitlab falló, las credenciales de git no funcionan, escriba el nombre de usuario / contraseña en cargo.toml está bien.

_git-credentials no funciona_

$ cat ~/.gitconfig
[credential]
        helper = store

$ cat ~/.git-credentials
http://tensorchen:[email protected]

$ cat Cargo.toml
[package]
name = "xxxxx"
version = "0.1.0"
edition = "2018"

[dependencies]
l5 = {git = "http://git.code.oa.com/birdio/l5-rs", branch = "master"}

$ cargo build 
    Updating git repository `http://git.code.oa.com/birdio/l5-rs`
warning: spurious network error (2 tries remaining): failed to receive HTTP 200 response: got 401; class=Net (12)
warning: spurious network error (1 tries remaining): failed to receive HTTP 200 response: got 401; class=Net (12)
error: failed to load source for a dependency on `l5`

Caused by:
  Unable to update http://git.code.oa.com/birdio/l5-rs

Caused by:
  failed to fetch into /root/.cargo/git/db/l5-rs-56b3f1291d851527

Caused by:
  failed to receive HTTP 200 response: got 401; class=Net (12)

_escribir nombre de usuario / contraseña en cargo.toml está bien_

$ cat Cargo.toml
[dependencies]
l5 = {git = "http://tensorchen:[email protected]/birdio/l5-rs", branch = "master"}

$ cargo build 
Updating git repository `http://tensorchen:[email protected]/birdio/l5-rs`
   Compiling l5 v0.1.0 (http://tensorchen:[email protected]/birdio/l5-rs#39fffd34)
   Compiling rust-by-example v0.1.0 (/root/git.code.oa.com/tensorchen/rust-by-example)
    Finished dev [unoptimized + debuginfo] target(s) in 0.52s

Notas

$ cargo version
cargo 1.39.0 (1c6ec66d5 2019-09-30)
$ git version
git version 2.23.0


A-git C-bug

Comentario más útil

Resuelve este problema

$ cat ~/.cargo/config
[net]
git-fetch-with-cli = true

Todos 3 comentarios

También me he encontrado a menudo con este problema, especialmente cuando intento configurar la autenticación dentro de un trabajo de CI para una dependencia de óxido privada. Sería muy útil tener un modo de carga que herede las credenciales de git predeterminadas de los usuarios en lugar de tener que usar el truco ~/.git-credentials .

Resuelve este problema

$ cat ~/.cargo/config
[net]
git-fetch-with-cli = true

Resuelve este problema

$ cat ~/.cargo/config
[net]
git-fetch-with-cli = true

Muchas gracias por esta respuesta !!!
Además, la configuración de Cargo es $CARGO_HOME/config . Esto puede ser importante si configura un $ CARGO_HOME personalizado.

$ CARGO_HOME / config que por defecto es:
Windows:% PERFIL DE USUARIO% .cargo \ config
Unix: $ INICIO / .cargo / config

¿Fue útil esta página
0 / 5 - 0 calificaciones