We're looking at closing off a couple of major papercuts in the 1.20.0 release
of rustup
. This is the first in an as-yet unknown number of requests for
people to please try something out and let us know what they think before
we release it and thus have potentially sub-optimal UX which people automate
around and therefore we end up having to support.
Recently we merged support for installation profiles. This is a
mechanism for you to indicate to rustup toolchain install
what set of
components you want installed by default when you add a toolchain. Currently
this is ONLY for the initial installation of a toolchain, not for further
updates.
The main use of this is to allow those of you who run CI to select a minimal
profile so that you don't install rust-docs
on CI systems, though it will
also be of interest to those of you who run mostly stable (or beta) and want to
default to a more full profile to get clippy etc by default.
The new support is (currently) invoked as follows:
- In the installer, with
--profile [minimal|default|full]
(This is also the same on Windows withrustup-init.exe
) - By setting it on the CLI with
rustup set profile [minimal|default|full]
It is not possible to specify it at toolchain installation at this time, though if that turns out to be a UX mistake, we might add it.
At this point, we really need your help to try this out. Currently we're going to ship this feature in version 1.20.0 and we'll do that just as soon as we're confident it has no hidden gotchas (assuming nothing else unusual is only just merged to master).
If you're interested in giving this a go, then you will have to compile
rustup
for yourself unless you use Windows in which case it is possible to
find artifacts via our CI on Appveyor. If you're wanting to test rustup
for yourself then I recommend acquiring the git repository and then installing
it as follows:
$ git clone https://github.com/rust-lang/rustup.rs
$ cd rustup.rs
$ cargo +stable run --features vendored-openssl -- --no-modify-path -y
If you use Windows, drop the --features vendored-openssl
as that's a *NIX
thing only really.
Once that completes, your rustup
installation should be updated, and you
can check that with rustup --version
which will report something like:
rustup 1.19.0+2 (ec6d1afcb 2019-09-12)
.
From there, please try out the new commands:
rustup show profile
rustup set profile
And try installing new toolchains with the different profiles, possible values
are listed in rustup set profile --help
. You could also try setting one
profile (e.g. minimal), installing a nightly toolchain, waiting a day or three,
and then setting a different profile (e.g. full) and updating that nightly
toolchain. Verify that even though the profile was changed, the installed
component set did not alter with the update.
If you encounter any issues / UX bogons / missing UX with profiles, please file issues on github so that we can consider if we need to fix them before 1.20.0 comes out.
Thank you for any help you can provide at this time. If you want to revert your rustup installation once you're done trying out this, just rerun the installation instructions from https://rustup.rs/ and you'll be golden.
I will try to look at this thread, but the best way to ensure your feedback is seen is to file useful issues on our github.