Cargo: warning: spurious network error (2 tries remaining): [35] SSL connect error / error: failed to download from `https://index.crates.io/...`
Cargo couldn't reach crates.io (network, proxy, TLS or DNS issues).
warning: spurious network error (2 tries remaining): [35] SSL connect errorerror: failed to get `serde` as a dependency of packageCaused by: failed to query replaced source registry `crates-io`error: failed to download from `https://static.crates.io/crates/`Caused by: [6] Could not resolve host: index.crates.io Meaning
Check connectivity (curl -I https://index.crates.io/config.json), proxies (HTTPS_PROXY, [http] proxy in ~/.cargo/config.toml), corporate TLS (CARGO_HTTP_CAINFO), DNS and retries (CARGO_NET_RETRY). Use the sparse protocol (default since 1.70). Offline mode: cargo build --offline with vendored crates.
Common causes
- No internet/DNS
- Corporate proxy/TLS interception
- Rate limiting or registry outage
- Git-based index timeouts (old cargo)
- Firewall blocking crates.io/static.crates.io
⚡ Quick fix
curl -I https://index.crates.io/config.jsonto test- Set proxy/CA:
CARGO_HTTP_CAINFO=/path/ca.pem CARGO_NET_RETRY=10,cargo vendorfor offline builds
Detailed fix by platform
Linux
CARGO_NET_RETRY=10 CARGO_HTTP_DEBUG=true cargo fetch
How to diagnose
- Network — crates.io reachable?
- Proxy/CA — Configured?
- Retry — Raised?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- Blocking waiting for file lock on package cache / build directory Cargo: Blocking waiting for file lock on package cache / on build directory
- Cannot start a runtime from within a runtime (Tokio) Rust: thread 'main' panicked: Cannot start a runtime from within a runtime — a function like `block_on` tried to block a thread that drives async tasks
- cargo: failed to select a version for the requirement Cargo: error: failed to select a version for the requirement `serde = "^2.0"` — candidate versions found which didn't match: 1.0.197
Most viewed in Rust
Other ways to find it
Where this error sits
Origin: Application & API. Errors that are often confused with or caused by this one (click to open):
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 5 Nov 2026