diff --git a/.changeset/rotten-pumpkins-search.md b/.changeset/rotten-pumpkins-search.md new file mode 100644 index 0000000..11e723c --- /dev/null +++ b/.changeset/rotten-pumpkins-search.md @@ -0,0 +1,5 @@ +--- +"fnm": patch +--- + +fix: return default version if canonicalize fails diff --git a/src/default_version.rs b/src/default_version.rs index dc42eb9..b4da872 100644 --- a/src/default_version.rs +++ b/src/default_version.rs @@ -3,7 +3,10 @@ use crate::version::Version; use std::str::FromStr; pub fn find_default_version(config: &FnmConfig) -> Option { - let version_path = config.default_version_dir().canonicalize().ok()?; - let file_name = version_path.parent()?.file_name()?; - Version::from_str(file_name.to_str()?).ok()?.into() + if let Ok(version_path) = config.default_version_dir().canonicalize() { + let file_name = version_path.parent()?.file_name()?; + Version::from_str(file_name.to_str()?).ok()?.into() + } else { + Some(Version::Alias("default".into())) + } }