Skip to content

Hope to improve the error messages and Improve error-handling abilities of rustup #4863

@sakuraflows

Description

@sakuraflows

Problem you are trying to solve

When I was installing mdbook, the following error suddenly popped up:

\rustbook_zhcn-main> cargo install mdbook
error: process didn't exit successfully: rustc -vV (exit code: 1)
--- stderr
error: Missing manifest in toolchain '1.90-aarch64-pc-windows-msvc'

As someone not very familiar with the rust-lang toolchain architecture, I had no idea what happened. I asked AI and searched online, but all I got was content about how to configure the MSVC toolchain on Windows. But I had obviously already configured it, otherwise I wouldn't have successfully built and compiled other projects before. Later, I found it in the mirror list — 1.90-aarch64-pc-windows-msvc. It was under the rustup list, and I began to realize that perhaps during installation, the toolchain automatically executed rustup update, and coincidentally my device had network problems, causing 1.90-aarch64-pc-windows-msvc not to be installed properly.

Finally, I manually executed rustup update again:

info: downloading 6 components
        rustc installed                       68.52 MiB
        cargo installed                        9.25 MiB
     rust-std installed                       19.68 MiB
    rust-docs installed                       20.52 MiB
      rustfmt installed                        2.68 MiB
       clippy installed                        3.84 MiB
  stable-aarch64-pc-windows-msvc unchanged - rustc 1.95.0 (59807616e 2026-04-14)
    1.90-aarch64-pc-windows-msvc installed - rustc 1.90.0 (1159e78c4 2025-09-14)

I knew I had succeeded.

1.90-aarch64-pc-windows-msvc, this package name is very misleading, and the error message is not detailed enough. I hope Rust can improve them in the future. Thanks a lot.

Solution you'd like

  1. Under the prompts from the forum reply, I learned that(Improve error message for incomplete toolchains #4819 ) has proposed relevant improvements, but I believe for people who are not familiar with Rust’s complex toolchain mechanism, they might still fail to realize the potential connection between the toolchain or something else and rustup, and therefore they would not carry out the inspection steps for rustup either.

  2. Regarding improving rustup’s error-handling ability:
    In package managers of some programming languages (such as pip), if there is a sudden network change during the download and installation process that causes the download to fail, an error message like the following is usually shown:

Collecting anyio<5,>=3.5.0 (from openai)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl (114 kB)
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/distro/

However, when I was running cargo install mdbook, I am certain that I did not receive any prompt about a download failure from rustup. I hope improvements can be made in this regard.

Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementincompleteThe bug report does not have enough information

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions