Installing rustup on Linux or macOS
If you’re using Linux or macOS, open a terminal and enter the following command:
$ curl https://sh.rustup.rs -sSf | sh
The installation script automatically adds Rust to your system PATH after your next login.
If you want to start using Rust right away instead of restarting your terminal, run the following command in your shell to add Rust to your system PATH manually:
$ source $HOME/.cargo/env
Updating and Uninstalling
After you’ve installed Rust via rustup, updating to the latest version is easy. From your shell, run the following update script:
$ rustup update
To uninstall Rust and rustup, run the following uninstall script from your shell:
$ rustup self uninstall
Check Rust version
To check whether you have Rust installed correctly:
$ rustc --version
The installer also includes a copy of the documentation locally, so you can read it offline.
rustup doc to open the local documentation in your browser.
$ rustup doc
Cargo is Rust’s build system and package manager. Most Rustaceans use this tool to manage their Rust projects because Cargo handles a lot of tasks for you, such as building your code, downloading the libraries your code depends on, and building those libraries. (We call libraries your code needs /dependencies/.)
Check whether Cargo:
$ cargo —version
Creating a new project:
$ cargo new hello_cargo $ cd hello_cargo
Building and Running a Cargo Project
From your /hello_cargo/ directory, build your project by entering the following command:
$ cargo build
This command creates an executable file in /target/debug/hello_cargo/ rather than in your current directory. You can run the executable with this command:
We just built a project with cargo build and ran it with ./target/debug/hello_cargo, but we can also use cargo run to compile the code and then run the resulting executable all in one command:
$ cargo run
Cargo also provides a command called cargo check.
This command quickly checks your code to make sure it compiles but doesn’t produce an executable:
$ cargo check
Rustup and the Role of Rust Nightly
Rustup makes it easy to change between different release channels of Rust, on a global or per-project basis. By default, you’ll have stable Rust installed.
To install nightly, for example:
$ rustup install nightly
You can see all of the /toolchains/ (releases of Rust and associated components) you have installed with rustup as well:
$ rustup toolchain list
As you can see, the stable toolchain is the default. Most Rust users use stable most of the time. You might want to use stable most of the time, but use nightly on a specific project, because you care about a cutting-edge feature.
To do so, you can use rustup override in that project’s directory to set the nightly toolchain as the one rustup should use when you’re in that directory:
$ cd ~/projects/needs-nightly $ rustup override set nightly
Now, every time you call rustc or cargo inside of /~/projects/needs-nightly/, rustup will make sure that you are using nightly Rust, rather than your default of stable Rust. This comes in handy when you have a lot of Rust projects!
Compiling errors & possible fixes
error: linking with `cc` failed: exit code: 1 | = note: "cc" "-m64" "-L" "/Users/<username>/.rustup/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/x86_64-apple-darwin/lib"
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun.
Run the following line on terminal:
This will download and install xcode developer tools and should fix the problem.
Subscribe to NL Slack
Get the latest posts delivered right to your inbox