Menjalankan cargo add {crate}
akan gagal dengan:
Command failed due to unhandled error: reference 'refs/remotes/origin/master' not found; class=Reference (4); code=NotFound (-3)
Setelah beberapa debugging, saya menemukan bahwa indeks kargo memiliki 'refs/remotes/Origin' yang disetel ke HEAD
alih-alih master
. Saya mencoba membangun kembali indeks dengan menjalankan rm -rf ~/.cargo/registry/index/github.com-*/
dan kemudian cargo add <any dependency>
. Ini memperbarui indeks, namun sekarang refs/remotes/origin/
masih berisi HEAD
bukannya master
.
Menemukan baris yang gagal di lib ini adalah: https://github.com/killercup/cargo-edit/blob/034f6efc6c9c86ce07a0ad01cfbb55198397e1ec/src/fetch.rs#L271
Mengonfirmasi bahwa menjalankan mv HEAD master
untuk sementara memperbaiki masalah.
Terima kasih atas laporannya. Hmm, ini aneh, saya tidak dapat mereproduksi masalahnya. Sudahkah Anda mencoba menghapus indeks dan membangunnya kembali dengan cargo check
alih-alih cargo add
?
Inilah yang saya dapatkan setelah itu:
❯ tree ~/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/refs/remotes/origin
~/.cargo/registry/index/github.com-1ecc6299db9ec823/.git/refs/remotes/origin
└── master
Memperbarui indeks dilakukan di sini:
https://github.com/killercup/cargo-edit/blob/034f6efc6c9c86ce07a0ad01cfbb55198397e1ec/src/fetch.rs#L126 -L159
Memang gagal pada pemeriksaan kargo juga. Bagaimana saya mempersempit masalah. Ini berfungsi sebagaimana dimaksud pada Stable, tetapi tidak pada malam hari.
rustup show
Default host: x86_64-unknown-linux-gnu
rustup home: /home/vagrant/.rustup
installed toolchains
--------------------
stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)
active toolchain
----------------
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.46.0-nightly (346aec9b0 2020-07-11)
Mungkin terhubung ke https://github.com/rust-lang/cargo/pull/8364
Saya menghadapi masalah yang sama pada nightly
.
-bash-5.0$ cargo add clap
Command failed due to unhandled error: reference 'refs/remotes/origin/master' not found; class=Reference (4); code=NotFound (-3)
dapatkah saya mengembalikan cargo-edit
ke versi yang lebih lama sebagai solusi sementara?
@kaviraj no. Solusi sementara adalah mengganti nama file di ~/.cargo/registry/index/github.com-*/.git/refs/remotes/origin
disebut HEAD
menjadi master
Telah memikirkan beberapa perbaikan. Salah satunya adalah mengizinkan cargo add
untuk menggunakan salah satu asal. Pikir kami selalu mengharapkan ini memiliki 1 file di direktori itu.
+1, Masalah yang sama dengan OP, berharap untuk versi baru