summaryrefslogtreecommitdiff
path: root/cli/tools/upgrade.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/upgrade.rs')
-rw-r--r--cli/tools/upgrade.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/cli/tools/upgrade.rs b/cli/tools/upgrade.rs
index 933dad095..0748b4e8b 100644
--- a/cli/tools/upgrade.rs
+++ b/cli/tools/upgrade.rs
@@ -265,13 +265,15 @@ pub async fn upgrade(
) -> Result<(), AnyError> {
let ps = ProcState::build(flags).await?;
let current_exe_path = std::env::current_exe()?;
- let metadata = fs::metadata(&current_exe_path)?;
+ let output_exe_path =
+ upgrade_flags.output.as_ref().unwrap_or(&current_exe_path);
+ let metadata = fs::metadata(output_exe_path)?;
let permissions = metadata.permissions();
if permissions.readonly() {
bail!(
"You do not have write permission to {}",
- current_exe_path.display()
+ output_exe_path.display()
);
}
#[cfg(unix)]
@@ -282,7 +284,7 @@ pub async fn upgrade(
"You don't have write permission to {} because it's owned by root.\n",
"Consider updating deno through your package manager if its installed from it.\n",
"Otherwise run `deno upgrade` as root.",
- ), current_exe_path.display());
+ ), output_exe_path.display());
}
let client = &ps.http_client;