The Rust toolchain installer

Overview

rustup: the Rust toolchain installer

Master CI Build Status
Windows Windows builds
macOS maOS builds
Linux Etc Linux (etc) builds

rustup installs The Rust Programming Language from the official release channels, enabling you to easily switch between stable, beta, and nightly compilers and keep them updated. It makes cross-compiling simpler with binary builds of the standard library for common platforms. And it runs on all platforms Rust supports, including Windows.

Documentation

See The rustup book for documentation on installing and using rustup.

Contributing

See CONTRIBUTING.md for information on contributing to rustup.

License

Copyright Diggory Blake, the Mozilla Corporation, and rustup contributors.

Licensed under either of

at your option.

Comments
  • fresh install fails on Windows:

    fresh install fails on Windows: "error: could not rename component file from '... \rust-docs\share/doc/rust/html' ..."

    Problem A fresh install of stable build fails on Windows 8.1 with message "error: could not rename component file from '... \rust-docs\share/doc/rust/html' ...". Expected behavior would be the install to be successful :)

    Steps

    1. Check Windows version is 8.1 (not checked for other versions)
    2. Ensure %USERPROFILE%\.rustup and %USERPROFILE%\.cargo folders do not exist
    3. Download the latest stable rustup-init.exe file (1.35.0 of 2019-05-23) and run it under normal (non-admin) user without elevating user rights.
    4. Respond with "1" to the question regarding "Current installation options"
    5. Wait until the install fails with message "error: could not rename component file from '... \rust-docs\share/doc/rust/html' ..."
    C:\Users\ushakov\Documents\-work\Downloads\www.rust-lang.org>rustup-init.exe
    
    Welcome to Rust!
    
    This will download and install the official compiler for the Rust programming
    language, and its package manager, Cargo.
    
    It will add the cargo, rustc, rustup and other commands to Cargo's bin
    directory, located at:
    
      C:\Users\ushakov\.cargo\bin
    
    This path will then be added to your PATH environment variable by modifying the
    HKEY_CURRENT_USER/Environment/PATH registry key.
    
    You can uninstall at any time with rustup self uninstall and these changes will
    be reverted.
    
    Current installation options:
    
       default host triple: x86_64-pc-windows-msvc
         default toolchain: stable
      modify PATH variable: yes
    
    1) Proceed with installation (default)
    2) Customize installation
    3) Cancel installation
    >1
    
    info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
    info: latest update on 2019-05-23, rust version 1.35.0 (3c235d560 2019-05-20)
    info: downloading component 'rustc'
     60.0 MiB /  60.0 MiB (100 %)   8.0 MiB/s in  9s ETA:  0s
    info: downloading component 'rust-std'
     53.1 MiB /  53.1 MiB (100 %)   8.3 MiB/s in  7s ETA:  0s
    info: downloading component 'cargo'
    info: downloading component 'rust-docs'
     10.3 MiB /  10.3 MiB (100 %)   9.3 MiB/s in  1s ETA:  0s
    info: installing component 'rustc'
     60.0 MiB /  60.0 MiB (100 %)   7.7 MiB/s in  8s ETA:  0s
    info: installing component 'rust-std'
     53.1 MiB /  53.1 MiB (100 %)   7.3 MiB/s in 15s ETA:  0s
    info: installing component 'cargo'
      2.9 MiB /   2.9 MiB (100 %)   2.1 MiB/s in  6s ETA:  0s
    info: installing component 'rust-docs'
     10.3 MiB /  10.3 MiB (100 %) 473.6 KiB/s in  1m 35s ETA:  0s
    info: rolling back changes
    error: could not rename component file from 'C:\Users\ushakov\.rustup\tmp\grl2pj2s61kwqrko_dir\rust-docs\share/doc/rust/html' to 'C:\Users\ushakov\.rustup\toolchains\stable-x86_64-pc-windows-msvc\share/doc/rust/html'
    info: caused by: Отказано в доступе. (os error 5)
    
    Press the Enter key to continue.
    

    Possible Solution(s) A possible temporary workaround may be to run the installer with admin privileges, as per https://stackoverflow.com/questions/52542965/rust-installation-fails-on-windows-subsystem-for-linux-could-not-rename-compone/55373522#55373522 , that proved to work for me.

    Notes

    Output of rustup --version: rustup 1.18.3 (435397f48 2019-05-22)

    Output of rustup show:

    Default host: x86_64-pc-windows-msvc
    
    stable-x86_64-pc-windows-msvc (default)
    rustc 1.35.0 (3c235d560 2019-05-20)
    
    bug help wanted question O-windows 
    opened by s-n-ushakov 145
  • Making docs optional again

    Making docs optional again

    See as docs are required again due to #903, can we track what's necessary to make them optional again here? As one of my laptops doesn't have space for the docs (16G disk :( ), I'd be interested in helping fix the relevant issues. The two mentioned issues I've seen are:

    • [ ] #901, which would require a useful message/action when docs are requested and not present
    • [ ] #891, which would install the docs by default to help new people
    • [ ] #1006 Add support for default installed optional features to manifest

    Are there any others? And if you prefer to track this information elsewhere, please close this bug and point me in the right direction!

    opened by MJDSys 69
  • Validate signatures of builds

    Validate signatures of builds

    Right now the rust binaries are accompanies by gpg signatures, but rustup does not check them.

    I don't want to bring in native dependencies unless they are dead simple to build. We should probably try the gpgme bindings first, since those would be compatible with our existing gpg keys. If that doesn't work out then we can explore more exotic options.

    Previous thread.

    security impl-period-candidate 
    opened by brson 56
  • Installing rust-docs component on Windows 10 is very slow

    Installing rust-docs component on Windows 10 is very slow

    As reported on the User's Forum, installing the rust-docs component on Windows 10 is currently very slow compared to other components, even on machines with an SSD and multi-core processor.

    I did some testing of Rustup on Windows with ProcessMonitor capturing all file events. The creation of a single file in rust-docs requires 18 “syscalls”:

    8:56:27.9670280 AM	rustup.exe	20964	CreateFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	NAME NOT FOUND	Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
    8:56:27.9675751 AM	rustup.exe	20964	CreateFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Desired Access: Generic Write, Read Attributes, Disposition: OverwriteIf, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: 0, OpenResult: Created
    8:56:27.9684873 AM	rustup.exe	20964	QuerySecurityFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Information: Attribute
    8:56:27.9685802 AM	rustup.exe	20964	WriteFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Offset: 0, Length: 7,420, Priority: Normal
    8:56:27.9687324 AM	rustup.exe	20964	CloseFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	
    8:56:27.9790328 AM	rustup.exe	20964	CreateFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Desired Access: Generic Write, Read Attributes, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    8:56:27.9793741 AM	rustup.exe	20964	QuerySecurityFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Information: Attribute
    8:56:27.9794153 AM	rustup.exe	20964	SetBasicInformationFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	CreationTime: 0, LastAccessTime: 2018-11-04 3:13:44 PM, LastWriteTime: 2018-11-04 3:13:44 PM, ChangeTime: 0, FileAttributes: n/a
    8:56:27.9795474 AM	rustup.exe	20964	CloseFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	
    8:56:27.9799556 AM	rustup.exe	20964	CreateFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Desired Access: Read Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    8:56:27.9800764 AM	rustup.exe	20964	QuerySecurityFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Information: Attribute
    8:56:27.9801085 AM	rustup.exe	20964	QueryInformationVolume	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	BUFFER OVERFLOW	VolumeCreationTime: 2017-01-18 7:26:52 PM, VolumeSerialNumber: 28BB-82BA, SupportsObjects: True, VolumeLabel: WinՂ
    8:56:27.9801349 AM	rustup.exe	20964	QueryAllInformationFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	BUFFER OVERFLOW	CreationTime: 2018-11-05 8:56:27 AM, LastAccessTime: 2018-11-04 3:13:44 PM, LastWriteTime: 2018-11-04 3:13:44 PM, ChangeTime: 2018-11-05 8:56:27 AM, FileAttributes: A, AllocationSize: 8,192, EndOfFile: 7,420, NumberOfLinks: 1, DeletePending: False, Directory: False, IndexNumber: 0x8000000202cb1, EaSize: 0, Access: Read Attributes, Synchronize, Position: 0, Mode: Synchronous IO Non-Alert, AlignmentRequirement: Long
    8:56:27.9801636 AM	rustup.exe	20964	CloseFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	
    8:56:27.9804884 AM	rustup.exe	20964	CreateFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Desired Access: Write Attributes, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
    8:56:27.9806919 AM	rustup.exe	20964	QuerySecurityFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	Information: Attribute
    8:56:27.9807270 AM	rustup.exe	20964	SetBasicInformationFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	CreationTime: 0, LastAccessTime: 0, LastWriteTime: 0, ChangeTime: 0, FileAttributes: AN
    8:56:27.9807689 AM	rustup.exe	20964	CloseFile	C:\Users\gordon.tyler\.rustup\tmp\tnchg8cf2r9owb5i_dir\rust-docs\share\doc\rust\html\std\macro.vec.html	SUCCESS	
    

    Needing 5x CreateFile for each file definitely sounds bug-worthy…

    opened by johnthagen 55
  • error: could not download file from ...

    error: could not download file from ...

    Arch linux Internet connection has no problem

    $ rustup update
    info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
    error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256' to '/home/alex/.rustup/tmp/n6b91922kkyrvmlh_file'
    info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
    error: could not download file from 'https://static.rust-lang.org/dist/channel-rust-nightly.toml.sha256' to '/home/alex/.rustup/tmp/mb54blu9ah_jdzen_file'
    
       stable-x86_64-unknown-linux-gnu update failed - rustc 1.22.1 (05e2e1c41 2017-11-22)
      nightly-x86_64-unknown-linux-gnu update failed - rustc 1.24.0-nightly (687d3d15b 2018-01-02)
    
    opened by GildedHonour 45
  • LZMA data error on s390x

    LZMA data error on s390x

    Problem I cannot find a working way to use rust's beta or nightly releases on an IBM mainframe running Ubuntu:

    root@zla19054:~/.cargo/bin# ./rustup default nightly
    info: syncing channel updates for 'nightly-s390x-unknown-linux-gnu'
    info: latest update on 2019-08-21, rust version 1.39.0-nightly (bea0372a1 2019-08-20)
    info: downloading component 'rustc'
     54.3 MiB /  54.3 MiB (100 %)  13.0 MiB/s in  4s ETA:  0s
    info: downloading component 'rust-std'
    221.3 MiB / 221.3 MiB (100 %)  16.9 MiB/s in 14s ETA:  0s
    info: downloading component 'cargo'
      4.5 MiB /   4.5 MiB (100 %)   1.8 MiB/s in  1s ETA:  0s
    info: installing component 'rustc'
    info: rolling back changes
    error: failed to extract package (perhaps you ran out of disk space?)
    info: caused by: lzma data error
    

    Steps

    1. Connect to the IBM mainframe of your choice running Ubuntu (reach out to me if you need something here ;) )
    2. Run rustup default nightly(if the link is not being created for you like in my case, directly run the binary: ~/.cargo/bin# ./rustup default nightly) 2.5 same with with the beta
    3. Receive error

    Of course there is enough space available.

    Possible Solution(s) Is there a way to obtain these packages for s390xarchitecture somewhere directly and unpack the files / get them unpacked already, somewhere, and install them manually?

    Notes

    Output of rustup --version: rustup 1.18.3 (435397f48 2019-05-22) Output of rustup show:

    ./rustup show
    Default host: s390x-unknown-linux-gnu
    
    stable-s390x-unknown-linux-gnu (default)
    rustc 1.37.0 (eae3437df 2019-08-13)
    
    bug 
    opened by nikita-fuchs 39
  • rustup does not recognize Visual C++ Build Tools

    rustup does not recognize Visual C++ Build Tools

    Previously, rustc and related tools worked fine for me, but I had VS itself installed with the C++ tools. I've just reinstalled Windows 10. I've installed Visual C++ Build Tools from the landinghub link, no SDK,, but when I run rustup-init.exe, it still tells me that it's missing. There's nothing else Rust or Visual Studio related on my machine.

    I ran the installer again, but it has nothing to offer besides installing SDK's that I don't need.

    I've installed updates and restarted my computer, but that didn't help.

    I've added the Microsoft Visual C++ Build Tools folder to PATH, that didn't help, either.

    Either rustup truly needs more than just the Build Tools themselves, or it's not doing a very good job of detecting it.

    enhancement 
    opened by projektir 38
  • Checksum failed for nightly channel

    Checksum failed for nightly channel

    I just moved from multirust to rustup and experience the following problem when installing nightly:

    $> rustup update nightly
    info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
    error: checksum failed, expected: 'afb2094f716fb7167accccdbc9e213ad5e707e7b56b0175aa664108cf994eaa0', calculated: 'b60f814a446940366499a350769dab93bce25e91bb30825eebb3f74820fd8b74'
    

    Stable and beta install just fine. Also I removed all remains of multirust from my system(removed ~/.multirust, cleared $PATH, fresh console) and tried again, no help.

    To clarify, I do not have any version of nightly currently installed (it seems to work for people with nightly already installed):

    $> rustup show
    installed toolchains
    --------------------
    
    stable-x86_64-unknown-linux-gnu (default)
    beta-x86_64-unknown-linux-gnu
    
    active toolchain
    ----------------
    
    stable-x86_64-unknown-linux-gnu (default)
    rustc 1.9.0 (e4e8b6668 2016-05-18)
    

    I am using the current version of rustup:

    $> rustup -V
    rustup 0.1.12 (c6e430a 2016-05-12)
    
    initial release 
    opened by dswd 38
  • Rust 1.26.0 fails to install on ARM

    Rust 1.26.0 fails to install on ARM

    This seems related to #1383, but this time on stable.

    armv7$ rustup toolchain install 1.26.0
    info: syncing channel updates for '1.26.0-armv7-unknown-linux-gnueabihf'
    info: latest update on 2018-05-10, rust version 1.26.0 (a77568041 2018-05-07)
    error: component 'rust-docs' for 'armv7-unknown-linux-gnueabihf' is unavailable for download
    
    opened by sanxiyn 36
  • Provide full Apple Silicon (arm64/AArch64-Apple-Darwin) support in rustup

    Provide full Apple Silicon (arm64/AArch64-Apple-Darwin) support in rustup

    Describe the problem you are trying to solve

    Provide full compatibility for Apple Silicon (AArch64/Arm64) based macs. DTKs are out there now, user facing machines will be soonish.

    Describe the solution you'd like

    Let AArch64-Apple-Darwin just be a fully supported platform for rustup

    Notes

    Note that apple currently reports arm64 as architecture.

    current output:

    rust % curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    rustup: unknown CPU type: arm64 
    
    enhancement fixed-next-release 
    opened by monkeydom 33
  • Enable fully threaded IO for installs

    Enable fully threaded IO for installs

    See the individual commits for what this patch does, but in short on all platforms it will use up to CPU-count threads during unpacking, will no longer do a separate pass to set permissions, and may use more memory. Uninstall hasn't been optimised yet (and upgrades perform uninstalls, so the instructions below separate the steps for better reporting of results)

    I'd like to get some wider testing that we've had so far. I can supply test binaries if needed, but its very easy to test with:

    git clone https://github.com/rust-lang/rustup.rs.git
    cd rustup.rs
    git fetch origin pull/1876/head:threadedio
    git checkout threadedio
    cargo build --release
    cp target/release/rustup{-init,} #.exe if you are on windows
    ./target/release/rustup uninstall nightly
    ./target/release/rustup/install nightly
    

    Let us know how this goes. I'm particularly interested in knowing any regressions that would make it unsuitable for merging.

    This is known not to solve WSL performance issues: #1866. It is thought to help with NFS issues #1867 and should further help windows installation times #1540.

    opened by rbtcollins 33
  • Error installing Rust

    Error installing Rust

    Problem

    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh info: downloading installer curl: (23) Failure writing output to destination rustup: command failed: downloader https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init /tmp/tmp.Ovyar546P7/rustup-init x86_64-unknown-linux-gnu

    Directory /tmp.Ovyar546P7 exists but it is empty

    System is Ubuntu 22.04

    Steps

    Enter the curl command as specified in the documentation

    Possible Solution(s)

    No response

    Notes

    No response

    Rustup version

    Trying to install yet
    

    Installed toolchains

    None
    
    bug 
    opened by zx9r 0
  • Rustup fails on Windows 10

    Rustup fails on Windows 10

    Problem

    Rustup toolchain install fails on WIN10. Log:

    > rustup toolchain install nightly
    info: syncing channel updates for 'nightly-x86_64-pc-windows-gnu'
    750.8 KiB / 750.8 KiB (100 %) 416.0 KiB/s in  1s ETA:  0s
    info: latest update on 2023-01-05, rust version 1.68.0-nightly (659e169d3 2023-01-04)
    info: downloading component 'cargo'
    info: downloading component 'clippy'
    info: downloading component 'rust-docs'
    info: retrying download for 'https://static.rust-lang.org/dist/2023-01-05/rust-docs-nightly-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2023-01-05/rust-docs-nightly-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2023-01-05/rust-docs-nightly-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2023-01-05/rust-docs-nightly-x86_64-pc-windows-gnu.tar.xz'
    error: component download failed for rust-docs-x86_64-pc-windows-gnu: could not download file from 'https://static.rust-lang.org/dist/2023-01-05/rust-docs-nightly-x86_64-pc-windows-gnu.tar.xz' to 'C:\XXXX\rustup\.rustup\downloads\d58a2e4217d7d9feca7423179e3090ff12bc5ca7423179e3090ff12bc52ec2fae8f216e32acb841f286b4.partial'
    
    
    > rustup toolchain install stable
    info: syncing channel updates for 'stable-x86_64-pc-windows-gnu'
    info: latest update on 2022-12-15, rust version 1.66.0 (69f9c33d7 2022-12-12)
    info: downloading component 'cargo'
    info: downloading component 'clippy'
    info: downloading component 'rust-docs'
    info: retrying download for 'https://static.rust-lang.org/dist/2022-12-15/rust-docs-1.66.0-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2022-12-15/rust-docs-1.66.0-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2022-12-15/rust-docs-1.66.0-x86_64-pc-windows-gnu.tar.xz'
    info: retrying download for 'https://static.rust-lang.org/dist/2022-12-15/rust-docs-1.66.0-x86_64-pc-windows-gnu.tar.xz'
    error: component download failed for rust-docs-x86_64-pc-windows-gnu: could not download file from 'https://static.rust-lang.org/dist/2022-12-15/rust-docs-1.66.0-x86_64-pc-windows-gnu.tar.xz' to 'C:\XXXX\rustup\.rustup\downloads\093257159ba394c5306474373475d0a78031d7691e6c0fb1834503eb4790ceae.partial'
    
    

    Steps

    1. execute rustup toolchain install stable

    Possible Solution(s)

    No response

    Notes

    No response

    Rustup version

    rustup 1.25.1 (bb60b1e89 2022-07-12)
    

    Installed toolchains

    None
    

    NOTE:

    On the same machine, rustup 1.25.1 works in wsl.

    bug 
    opened by gakadam 0
  • Check channel updates in parallel

    Check channel updates in parallel

    Problem you are trying to solve

    In part thanks to cargo-msrv, I have ~20 (and growing!) pinned stable versions of rust installed through rustup. Every time I run rustup update, it seems to sequentially check for any update on each of these 20 versions, making this operation much slower than with only a couple channels.

    I believe checking each of these 20 channels in parallel might improve the situation.

    Here is a recording of running rustup update:

    https://asciinema.org/a/yo7PjqQRII2YCrvG1UEstTmrc

    Solution you'd like

    Rather than checking each channel sequentially, checking them in parallel would improve the runtime of the command.

    Note that this proposal is mostly for checking for updates. I do not suggest actually downloading and installing updates in parallel, though it might be an option as well.

    Notes

    No response

    enhancement 
    opened by gyscos 0
  • rustup allows `rustup toolchain link none`

    rustup allows `rustup toolchain link none`

    Problem

    This is not necessarily a bug, but it seems very confusing.

    ; rustup default none
    info: default toolchain unset
    ; rustup toolchain link none build/aarch64-unknown-linux-gnu/stage0
    ; cargo
    error: rustup could not choose a version of cargo to run, because one wasn't specified explicitly, and no default is configured.
    help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
    ; cargo +none --version
    cargo 1.67.0-beta.3 (f6e737b1e 2022-12-02)
    

    Steps

    1. Clone rust-lang/rust and run `./x.py --help
    2. Run rustup toolchain link none build/aarch64-unknown-linux-gnu/stage0 (as appropriate for your host triple)
    3. Run cargo +none --version

    Possible Solution(s)

    I think disallowing none for a custom toolchain name would be easier to understand, something like the existing error for reserved channel names:

    ; rustup toolchain link stable build/aarch64-unknown-linux-gnu/stage0
    error: invalid custom toolchain name: 'stable-aarch64-unknown-linux-gnu'
    

    Notes

    No response

    Rustup version

    rustup 1.25.1 (bb60b1e89 2022-07-12)
    

    Installed toolchains

    > rustup show -v
    Default host: aarch64-unknown-linux-gnu
    rustup home:  /home/gh-jyn514/.local/lib/rustup
    
    installed toolchains
    --------------------
    
    error: no default toolchain configured
    
    

    (this seems like a second bug: I definitely have at least nightly installed.)

    bug 
    opened by jyn514 0
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • Cargo.toml (cargo)
    • download/Cargo.toml (cargo)
    • ci/docker/aarch64-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/aarch64-unknown-linux-musl/Dockerfile (dockerfile)
    • ci/docker/android/Dockerfile (dockerfile)
    • ci/docker/arm-unknown-linux-gnueabi/Dockerfile (dockerfile)
    • ci/docker/arm-unknown-linux-gnueabihf/Dockerfile (dockerfile)
    • ci/docker/armv7-unknown-linux-gnueabihf/Dockerfile (dockerfile)
    • ci/docker/i686-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/mips-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile (dockerfile)
    • ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile (dockerfile)
    • ci/docker/mipsel-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/powerpc-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/powerpc64-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/riscv64gc-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/s390x-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/x86_64-unknown-freebsd/Dockerfile (dockerfile)
    • ci/docker/x86_64-unknown-illumos/Dockerfile (dockerfile)
    • ci/docker/x86_64-unknown-linux-gnu/Dockerfile (dockerfile)
    • ci/docker/x86_64-unknown-linux-musl/Dockerfile (dockerfile)
    • ci/docker/x86_64-unknown-netbsd/Dockerfile (dockerfile)
    • .github/workflows/centos-fmt-clippy-on-all.yaml (github-actions)
    • .github/workflows/deploy-docs.yaml (github-actions)
    • .github/workflows/linux-builds-on-master.yaml (github-actions)
    • .github/workflows/linux-builds-on-pr.yaml (github-actions)
    • .github/workflows/linux-builds-on-stable.yaml (github-actions)
    • .github/workflows/macos-builds-on-all.yaml (github-actions)
    • .github/workflows/windows-builds-on-master.yaml (github-actions)
    • .github/workflows/windows-builds-on-pr.yaml (github-actions)
    • .github/workflows/windows-builds-on-stable.yaml (github-actions)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation.
    • If Renovate detects semantic commits, it will use semantic commit type fix for dependencies and chore for all others.
    • Ignore node_modules, bower_components, vendor and various test/tests directories.
    • Autodetect whether to pin dependencies or maintain ranges.
    • Rate limit PR creation to a maximum of two per hour.
    • Limit to maximum 10 open PRs at any time.
    • Group known monorepo packages together.
    • Use curated list of recommended non-monorepo package groupings.
    • A collection of workarounds for known problems with packages.

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 24 Pull Requests:

    Update Rust crate anyhow to 1.0.68
    • Schedule: ["at any time"]
    • Branch name: renovate/anyhow-1.x
    • Merge into: master
    • Upgrade anyhow to 1.0.68
    Update Rust crate curl to 0.4.44
    • Schedule: ["at any time"]
    • Branch name: renovate/curl-0.x
    • Merge into: master
    • Upgrade curl to 0.4.44
    Update Rust crate effective-limits to 0.5.5
    • Schedule: ["at any time"]
    • Branch name: renovate/effective-limits-0.x
    • Merge into: master
    • Upgrade effective-limits to 0.5.5
    Update Rust crate sharded-slab to 0.1.4
    • Schedule: ["at any time"]
    • Branch name: renovate/sharded-slab-0.x
    • Merge into: master
    • Upgrade sharded-slab to 0.1.4
    Update Rust crate tar to 0.4.38
    • Schedule: ["at any time"]
    • Branch name: renovate/tar-0.x
    • Merge into: master
    • Upgrade tar to 0.4.38
    Update Rust crate xz2 to 0.1.7
    • Schedule: ["at any time"]
    • Branch name: renovate/xz2-0.x
    • Merge into: master
    • Upgrade xz2 to 0.1.7
    Update Rust crate enum-map to 2.4.2
    • Schedule: ["at any time"]
    • Branch name: renovate/enum-map-2.x
    • Merge into: master
    • Upgrade enum-map to 2.4.2
    Update Rust crate lazy_static to 1.4
    • Schedule: ["at any time"]
    • Branch name: renovate/lazy_static-1.x
    • Merge into: master
    • Upgrade lazy_static to 1.4
    Update Rust crate num_cpus to 1.15
    • Schedule: ["at any time"]
    • Branch name: renovate/num_cpus-1.x
    • Merge into: master
    • Upgrade num_cpus to 1.15
    Update Rust crate pulldown-cmark to 0.9
    • Schedule: ["at any time"]
    • Branch name: renovate/pulldown-cmark-0.x
    • Merge into: master
    • Upgrade pulldown-cmark to 0.9
    Update Rust crate retry to 1.3.1
    • Schedule: ["at any time"]
    • Branch name: renovate/retry-1.x
    • Merge into: master
    • Upgrade retry to 1.3.1
    Update Rust crate rs_tracing to 1.1.0
    • Schedule: ["at any time"]
    • Branch name: renovate/rs_tracing-1.x
    • Merge into: master
    • Upgrade rs_tracing to 1.1.0
    Update Rust crate sequoia-openpgp to 1.12
    • Schedule: ["at any time"]
    • Branch name: renovate/sequoia-openpgp-1.x
    • Merge into: master
    • Upgrade sequoia-openpgp to 1.12
    Update Rust crate tempfile to 3.3
    • Schedule: ["at any time"]
    • Branch name: renovate/tempfile-3.x
    • Merge into: master
    • Upgrade tempfile to 3.3
    Update Rust crate term to v0.7.0
    • Schedule: ["at any time"]
    • Branch name: renovate/term-0.x
    • Merge into: master
    • Upgrade term to =0.7.0
    Update Rust crate url to 2.3
    • Schedule: ["at any time"]
    • Branch name: renovate/url-2.x
    • Merge into: master
    • Upgrade url to 2.3
    Update Rust crate winreg to 0.10
    • Schedule: ["at any time"]
    • Branch name: renovate/winreg-0.x
    • Merge into: master
    • Upgrade winreg to 0.10
    Update Rust crate zstd to 0.12
    • Schedule: ["at any time"]
    • Branch name: renovate/zstd-0.x
    • Merge into: master
    • Upgrade zstd to 0.12
    Update Rust crate clap to v4
    • Schedule: ["at any time"]
    • Branch name: renovate/clap-4.x
    • Merge into: master
    • Upgrade clap to 4
    Update Rust crate retry to v2
    • Schedule: ["at any time"]
    • Branch name: renovate/retry-2.x
    • Merge into: master
    • Upgrade retry to 2.0.0
    Update actions/cache action to v3
    • Schedule: ["at any time"]
    • Branch name: renovate/actions-cache-3.x
    • Merge into: master
    • Upgrade actions/cache to v3
    Update actions/checkout action to v3
    • Schedule: ["at any time"]
    • Branch name: renovate/actions-checkout-3.x
    • Merge into: master
    • Upgrade actions/checkout to v3
    Update actions/upload-artifact action to v3
    • Schedule: ["at any time"]
    • Branch name: renovate/actions-upload-artifact-3.x
    • Merge into: master
    • Upgrade actions/upload-artifact to v3
    Update ubuntu Docker tag to v22
    • Schedule: ["at any time"]
    • Branch name: renovate/ubuntu-22.x
    • Merge into: master
    • Upgrade ubuntu to 22.04

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or overwhelm the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
The Rust Programming Language
The Rust Programming Language
Powerful database anonymizer with flexible rules. Written in Rust.

[Data]nymizer Powerful database anonymizer with flexible rules. Written in Rust. Datanymizer is created & supported by Evrone. What else we develop wi

[Data]nymizer 381 Dec 26, 2022
⚡️Lightning-fast linter for .env files. Written in Rust 🦀

⚡️ Lightning-fast linter for .env files. Written in Rust ?? Dotenv-linter can check / fix / compare .env files for problems that may cause the applica

null 1.5k Jan 9, 2023
Rust Code Completion utility

Racer - code completion for Rust RACER = Rust Auto-Complete-er. A utility intended to provide Rust code completion for editors and IDEs. Maybe one day

null 3.4k Jan 4, 2023
Format Rust code

rustfmt Quick start On the Stable toolchain On the Nightly toolchain Installing from source Usage Running cargo fmt Running rustfmt directly Verifying

The Rust Programming Language 4.8k Jan 7, 2023
Repository for the Rust Language Server (aka RLS)

Rust Language Server (RLS) The RLS provides a server that runs in the background, providing IDEs, editors, and other tools with information about Rust

The Rust Programming Language 3.6k Jan 7, 2023
🦀 The ultimate search extension for Rust

Rust Search Extension 简体中文 The ultimate search extension for Rust Search docs, crates, builtin attributes, official books, and error codes, etc in you

Huhu 962 Dec 30, 2022
a freeform Rust build system

tinyrick: a freeform Rust build system .---. ^ o{__ω__ o{ ^0^ -Let me out! ~~ ( // *|* \xx\) xx`|' = =

Andrew 48 Dec 16, 2022
The Curly programming language (now in Rust!)

Curly Curly is a functional programming language that focuses on iterators. Some of its main implementation features include sum types, iterators, lis

Curly Language 30 Jan 6, 2023
Some WIP payload in Rust running on M1.

m1saka Some WIP payload in Rust running on M1. Project informations The aim of this payload is to provide exploration capabilities while providing a s

Mary 10 Mar 7, 2021
A library to compile USDT probes into a Rust library

sonde sonde is a library to compile USDT probes into a Rust library, and to generate a friendly Rust idiomatic API around it. Userland Statically Defi

Wasmer 39 Oct 12, 2022
⚙️ Workshop Publishing Utility for Garry's Mod, written in Rust & Svelte and powered by Tauri

⚙️ gmpublisher Currently in Beta development. A powerful and feature-packed Workshop publisher for Garry's Mod is finally here! Click for downloads Ar

William 484 Jan 7, 2023
compile rust code into memes

cargo-memex Besides their size, rust binaries have a significant disadvantage: rust binaries are not memes yet. cargo-memex is a cargo subcommand that

Matthias Seitz 243 Dec 11, 2022
A neofetch alike program that shows hardware and distro information written in rust.

nyafetch A neofetch alike program that shows hardware and distro information written in rust. installing install $ make install # by default, install

null 16 Dec 15, 2022
Automated license checking for rust. cargo lichking is a Cargo subcommand that checks licensing information for dependencies.

cargo-lichking Automated license checking for rust. cargo lichking is a Cargo subcommand that checks licensing information for dependencies. Liches ar

Nemo157 120 Dec 19, 2022
Create target folder as a RAMdisk for faster Rust compilation.

cargo-ramdisk This crate is only supported for unix like systems! cargo-ramdisk creates a ramdisk at the target folder of your project for ridiculousl

PauMAVA 20 Jan 8, 2023
cargo extension that can generate BitBake recipes utilizing the classes from meta-rust

cargo-bitbake cargo bitbake is a Cargo subcommand that generates a BitBake recipe that uses meta-rust to build a Cargo based project for Yocto Install

null 60 Oct 28, 2022
A small utility to compare Rust micro-benchmarks.

cargo benchcmp A small utility for comparing micro-benchmarks produced by cargo bench. The utility takes as input two sets of micro-benchmarks (one "o

Andrew Gallant 304 Dec 27, 2022
"goto" implementation for Rust

Goto/Label for Rust Tired of using newfangled control flow mechnisms like "loop," "while," and "for"? Well worry no more! Finally, "goto" and "label"

Dagan Martinez 92 Nov 9, 2022
The Rust toolchain installer

rustup: the Rust toolchain installer Master CI Build Status Windows macOS Linux Etc rustup installs The Rust Programming Language from the official re

The Rust Programming Language 5.1k Jan 8, 2023
Installer Backend

distinst Distinst is a Rust-based software library that handles Linux distribution installer installation details. It has been built specifically to b

Pop!_OS 198 Dec 30, 2022