Fix reading env CARGO_REGISTRIES_{registry_name}_INDEX (#1258)

Try bogth original and upper-case version.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2023-08-09 17:41:20 +10:00 committed by GitHub
parent 939c9b43b2
commit a9e2ef11f1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -149,16 +149,27 @@ pub fn install_crates(
.registry .registry
.or_else(|| config.registry.and_then(|registry| registry.default)) .or_else(|| config.registry.and_then(|registry| registry.default))
{ {
env::var(format!("CARGO_REGISTRIES_{registry_name}_INDEX")) let registry_name_lowercase = registry_name.to_lowercase();
.map(Cow::Owned)
.or_else(|_| { let v = env::vars().find_map(|(k, v)| {
let name_lowercase = k
.strip_prefix("CARGO_REGISTRIES_")?
.strip_suffix("_INDEX")?
.to_lowercase();
(name_lowercase == registry_name_lowercase).then_some(v)
});
if let Some(v) = &v {
v
} else {
config config
.registries .registries
.as_ref() .as_ref()
.and_then(|registries| registries.get(&registry_name)) .and_then(|registries| registries.get(&registry_name))
.and_then(|registry| registry.index.as_deref().map(Cow::Borrowed)) .and_then(|registry| registry.index.as_deref())
.ok_or_else(|| BinstallError::UnknownRegistryName(registry_name)) .ok_or_else(|| BinstallError::UnknownRegistryName(registry_name))?
})? }
.parse() .parse()
.map_err(BinstallError::from)? .map_err(BinstallError::from)?
} else { } else {