Skip to content

Commit

Permalink
fix(cli): deno upgrade file permission (denoland#18427)
Browse files Browse the repository at this point in the history
  • Loading branch information
rottenpen committed Mar 26, 2023
1 parent 4d09b0c commit 0742ea1
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions cli/tools/upgrade.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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)]
Expand All @@ -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;
Expand Down

0 comments on commit 0742ea1

Please sign in to comment.