删除未生效的活动版本分支,回退链只认默认别名
- 删除 active_managed_prefix(FNM_MULTISHELL_PATH / NVM_BIN):激活时活动版本已在 PATH 里,而该分支拿到的 multishell 前缀与枚举出的安装前缀不相等,永远不命中 - resolve_managed_fallback_runtime 回退顺序收敛为 engines 最高匹配 > 默认别名 > 已安装最高版本 - 同步 decision-log、里程碑与两处技术方案的版本选择口径
This commit is contained in:
@@ -657,22 +657,6 @@ fn read_project_engines_range(root: &Path) -> Option<String> {
|
||||
}
|
||||
}
|
||||
|
||||
fn active_managed_prefix() -> Option<PathBuf> {
|
||||
if let Some(path) = std::env::var_os("FNM_MULTISHELL_PATH") {
|
||||
if let Ok(prefix) = validate_node_installation_prefix(Path::new(&path)) {
|
||||
return Some(prefix);
|
||||
}
|
||||
}
|
||||
if let Some(bin) = std::env::var_os("NVM_BIN") {
|
||||
if let Some(parent) = Path::new(&bin).parent() {
|
||||
if let Ok(prefix) = validate_node_installation_prefix(parent) {
|
||||
return Some(prefix);
|
||||
}
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
fn default_managed_installation<'a>(
|
||||
installed: &'a [InstalledNodeVersion],
|
||||
fnm_roots: &[PathBuf],
|
||||
@@ -735,11 +719,6 @@ fn resolve_managed_fallback_runtime(
|
||||
return Ok(Some(runtime_from_installed(node, root, path)?));
|
||||
}
|
||||
}
|
||||
if let Some(prefix) = active_managed_prefix() {
|
||||
if let Some(node) = installed.iter().find(|node| node.prefix == prefix) {
|
||||
return Ok(Some(runtime_from_installed(node, root, path)?));
|
||||
}
|
||||
}
|
||||
if let Some(node) = default_managed_installation(&installed, fnm_roots, nvm_roots) {
|
||||
return Ok(Some(runtime_from_installed(node, root, path)?));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user