mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
45 lines
No EOL
2.7 KiB
Markdown
45 lines
No EOL
2.7 KiB
Markdown
# Встановлення останньої версії 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` |