failed to set permissions on `rustup self update`
Open
Nobody has claimed this yet.
bug
incomplete
- Dominant language
- Rust
- Stars
- 7k
- Forks
- 1.1k
- Avg merge
- 22h 40m
- Merged PRs (30d)
- 46
Description
Verification
- I searched for recent similar issues at https://github.com/rust-lang/rustup/issues?q=is%3Aissue and found no duplicates.
- I am on the latest version of Rustup according to https://github.com/rust-lang/rustup/tags and am still able to reproduce my issue.
Problem
I wanted to try out the new dev version, but the older version failed self-update:
$ RUSTUP_UPDATE_ROOT=https://dev-static.rust-lang.org/rustup rustup update
info: syncing channel updates for 'stable-aarch64-apple-darwin'
info: syncing channel updates for 'nightly-aarch64-apple-darwin'
info: checking for self-update
info: downloading self-update
error: failed to set permissions for '/Users/me/.cargo/bin/rustup-init'
Caused by:
No such file or directory (os error 2)
$ RUSTUP_UPDATE_ROOT=https://dev-static.rust-lang.org/rustup rustup --version
rustup 1.28.2 (77863418e 2025-04-13)
I have ~/.cargo/bin/rustup, but not rustup-init.
Steps
RUSTUP_UPDATE_ROOT=https://dev-static.rust-lang.org/rustup rustup update
Rustup version
rustup 1.28.2 (77863418e 2025-04-13)
Installed toolchains
Default host: aarch64-apple-darwin
rustup home: /Users/me/.rustup
installed toolchains
--------------------
stable-aarch64-apple-darwin
nightly-aarch64-apple-darwin (active, default)
nightly-2023-06-14-aarch64-apple-darwin
nightly-2024-06-24-aarch64-apple-darwin
nightly-2025-02-06-aarch64-apple-darwin
1.68.0-aarch64-apple-darwin
1.70.0-aarch64-apple-darwin
1.71.0-aarch64-apple-darwin
1.73.0-aarch64-apple-darwin
1.75.0-aarch64-apple-darwin
1.76.0-aarch64-apple-darwin
1.77.0-aarch64-apple-darwin
1.83.0-aarch64-apple-darwin
stage1
stage2
stage3
active toolchain
----------------
name: nightly-aarch64-apple-darwin
active because: it's the default toolchain
installed targets:
aarch64-apple-darwin
aarch64-apple-ios
thumbv7em-none-eabihf
wasm32-unknown-unknown
x86_64-apple-darwin
x86_64-unknown-linux-musl
OS version
macOS 15.7.3 (24G419)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported command with RUSTUP_UPDATE_ROOT set to the development URL, then trace the self-update path that sets permissions on ~/.cargo/bin/rustup-init. Compare the expected installed files with the reported state, and verify that self-update completes without the missing-file error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100