[FEATURE REQUEST] Offline support
Currently, trying to compile a Rust project offline, e.g., in a plane without network connectivity, fails with:
ERROR: error fetching latest `fastly` crate version: Get "https://crates.io/api/v1/crates/fastly/versions": dial tcp: lookup crates.io on [::1]:53: read udp [::1]:58243->[::1]:53: read: connection refused.
Even if all the dependencies are available offline and the versions criteria is met, in other words, even if cargo build or cargo build --offline succeeds, and the fastly and fastly-sys versions are good.
Describe the solution you'd like
Ideally we could treat this as a warning instead of a hard error by default, allowing the cli to continue even if we could not fetch the latest fastly and fastly-sys crate version information, but as long as the fastly* crates versions meet the criteria.
This might not be enough, however, if a dependency version was changed in Cargo.toml, in which case we also want to pass --offline to cargo build.
Both of these changes could be done automatically if we detect we don't have network connectivity.
Describe alternatives you've considered
Add a --offline parameter to make the change in behaviour optional but I'd prefer to avoid extra knobs.
Additional context
I have not checked if this is a problem with other SDKs.