devzone.org.ua/post/vstanovlennia-ostannyoyi-versiyi-rust-v-linux.md
2025-11-01 14:28:20 +02:00

45 lines
No EOL
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Встановлення останньої версії Rust в Linux
Користувачі дистрибутивів з довгостроковою підтримкою, ймовірно зіткнуться з проблемою збірки програм з версією Rust, що міститься в репозиторіях.
Вирішується це досить просто, за допомогою утиліти [Rustup](https://www.rust-lang.org/tools/install).
Спочатку потрібно видалити встановлені раніше версії, разом з їх залежностями.
Наприклад, в Debian:
```
apt remove cargo rustc
apt autoremove
```
Наступні кроки виконуються від того користувача, від якого планується подальша робота з програмою.
Таким чином, пакети будуть стандартно встановлюватись до теки `~/.cargo`
Після введення наступної команди слідуємо підказкам:
```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
Оновити пакети до останньої версії можна командою:
```
rustup update
```
Якщо потрібно зібрати будь яку програму на більш ранній версії, наприклад `1.63` - достатньо встановити її поряд з іншою:
```
rustup install 1.63
```
Для збірки програми, вказуємо відповідну версію компілятора:
```
cargo +1.63 build --release
```
Щоб видалити встановлені таким чином `cargo`, `rustc` включно з `rustup`:
```
rustup self uninstall
```
## Нотатки
* якщо плануєте збірку програм на примонтованому девайсі (наприклад USB) - додайте параметр `exec` в `options` що в `/etc/fstab`
* інфраструктура та збірка тягне чимало дискового простору (від 1-2 Гб і більше), ви можете зменшити обсяг вимог до диску, встановивши мінімальні залежності з атрибутом `--profile=minimal`, що пропустить встановлення документації, `clippy` та інших інструментів; а звільнити простір - використанням додаткового крейту [cargo-cache](https://crates.io/crates/cargo-cache) і команди `cargo cache -a`