blob: cc636c31e6ec8faa8a7154c1f611cf2c63e008c7 [file] [log] [blame] [view]
# Installation
To use rust-analyzer, you need a `rust-analyzer` binary, a text editor
that supports LSP, and the source code of the Rust standard library.
If you're [using VS Code](./vs_code.html), the extension bundles a
copy of the `rust-analyzer` binary. For other editors, you'll need to
[install the binary](./rust_analyzer_binary.html) and [configure your
editor](./other_editors.html).
## Rust Standard Library
rust-analyzer will attempt to install the standard library source code
automatically. You can also install it manually with `rustup`.
```bash
rustup component add rust-src
```
Only the latest stable standard library source is officially supported
for use with rust-analyzer. If you are using an older toolchain or have
an override set, rust-analyzer may fail to understand the Rust source.
You will either need to update your toolchain or use an older version of
rust-analyzer that is compatible with your toolchain.
If you are using an override in your project, you can still force
rust-analyzer to use the stable toolchain via the environment variable
`RUSTUP_TOOLCHAIN`. For example, with VS Code or coc-rust-analyzer:
```json
{ "rust-analyzer.server.extraEnv": { "RUSTUP_TOOLCHAIN": "stable" } }
```
## Crates
There is a package named `ra_ap_rust_analyzer` available on
[crates.io](https://crates.io/crates/ra_ap_rust-analyzer), for people
who want to use rust-analyzer programmatically.
For more details, see [the publish
workflow](https://github.com/rust-lang/rust-analyzer/blob/master/.github/workflows/autopublish.yaml).