rust-lang / rust-lang/rustup

Rustup gets confused when it can't create a temp directory

Open
#2,546 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
7k
Forks
1.1k
Avg merge
22h 40m
Merged PRs (30d)
46

Description

Problem

$ rustup component remove rust-docs
info: removing component 'rust-docs'
info: rolling back changes
error: could not create temp directory: /acct/jynelson/.local/lib/rustup/tmp/ibqoveyhjujffe52_dir
# I ran cargo clean so I had enough disk space
$ rustup component remove rust-docs
info: removing component 'rust-docs'
warning: during uninstall component rust-docs was not found
$ ls ~/.local/lib/rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/
doc  man  zsh
$ rustup toolchain install stable
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'

  stable-x86_64-unknown-linux-gnu unchanged - rustc 1.47.0 (18bf6b4f0 2020-10-07)

error: rustup is not installed at '/acct/jynelson/.local/lib/cargo'

Notes

Output of rustup --version: rustup 1.20.2 (13979c968 2019-10-16)
Output of rustup show:

Default host: x86_64-unknown-linux-gnu
rustup home:  /acct/jynelson/.local/lib/rustup

I'd test with a newer version, but apparently rustup self update is also confused:

$ rustup self update
error: rustup is not installed at '/acct/jynelson/.local/lib/cargo'

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with rustup component remove rust-docs, then compare the subsequent rustup component remove rust-docs, rustup toolchain install stable, and rustup self update behavior. Trace the component-removal path around the temp-directory error and determine what tests cover the resulting state; done means the failure is handled consistently without leaving the installation confused.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.