The idea to install rustup without its proxies is doable, but rustup would be quite crippled. It does break the primary functionality.
Installing rustup without its proxies is the mode that would work the best for me. Here's my thinking, partly repeating what's in that AUR package thread. Curious whether anyone else's thinking is similar:
- Like @brson mentioned above, it substantially simplifies the story around Linux packaging, where
rustc
andcargo
are already installed as independent packages. Some package written in Rust might want to take a build dependency onrustup
, to compile with nightly for example, but that's a drag if therustup
package conflicts with therustc
package. - I'm not a big fan of global state in my build tools. Instead of remembering what default toolchain mode I'm in right now, I like to define separate aliases that always refer to a specific version. Something like
alias rustcn="rustup run nightly rustc"
alias cargon="rustup run nightly cargo"
- Changing what's in the
PATH
can have a lot of unintended side effects, if you're on a system that builds things from source. That includes AUR packages on Arch, for example, but also Vim plugins like YouCompleteMe that have a native Rust component. Usually you're building those things to use them, not to hack on them, and it's confusing if your rustup config breaks those builds. (Runningrustup default 1.0.0
would probably break everything.)
Of course all of this is totally different on Windows where Rustup is the official way to install the whole toolchain. Can anyone talk about the situation with Homebrew on OSX?