Tải xuống từ Cargo registry hoạt động, nhưng dependency Git thất bại
Tách đường HTTP của Cargo registry khỏi việc lấy nguồn Git và chủ động chọn Git implementation khi proxy có hành vi khác nhau.
Đọc source URL đã thất bại trước khi đổi proxy của Cargo. Registry metadata, crate archive và Git dependency có thể dùng các fetching và authentication paths khác nhau. URL Git qua SSH cũng cần transport arrangement khác HTTPS.
Với các HTTP requests liên quan của Cargo, route có thể đặt như sau:
[http]
proxy = "http://203.0.113.10:8080"Thay documentation endpoint bằng HTTP proxy của bạn. Với public registry path được phép dùng public proxies, candidates nằm trong HTTP proxy list. Điều này không chứng minh external Git executable đã nhận cùng configuration.
Nếu source thất bại là Git, Cargo có thể chọn Git CLI thay cho built-in implementation:
[net]
git-fetch-with-cli = trueCARGO_NET_GIT_FETCH_WITH_CLI=true chọn nó cho một command. External Git giờ cần proxy configuration riêng và credentials. So sánh cùng Git URL trong cùng launch environment; repository không liên quan chạy ở terminal khác không phải phép thử.
Missing revision, repository permission denial hoặc SSH host-key error vẫn là cùng vấn đề sau khi đổi implementation. Option này chọn supported client, không sửa dependency nói chung.
Giữ diagnosis trong project hoặc command scope: global Git và user Cargo settings có thể ảnh hưởng workspace khác. Registry URL chọn package data, không phải intermediary. Khi Git path hoạt động, chạy lại toàn bộ intended Cargo operation vì archives, redirects và build-time downloads có thể thêm routes khác.