$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
info: загрузка инсталлятора
Добро пожаловать в Rust!
Этот скрипт загрузит и установит официальный компилятор для языка
программирования Rust и менеджер пакетов Cargo.
Метаданные Rustup и тулчейны будут установлены в домашний каталог Rustup,
которая находится в профиле пользователя:
$HOME/.rustup
Это можно изменить с помощью переменной окружения RUSTUP_HOME.
Домашняя директория Cargo:
$HOME/.cargo
Это можно изменить с помощью переменной окружения CARGO_HOME.
Программы cargo, rustc, rustup и другие команды будут добавлены в каталог
bin системы Cargo:
$HOME/.cargo/bin
Этот путь будет затем добавлен в вашу переменную окружения PATH, путем
модификации файлов профиля:
$HOME/.profile
$HOME/.bashrc
Вы можете деинсталлировать rustup в любой момент, и для всех этих изменений
будет выполнен откат.
Текущие опции инсталляции:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Выполнить стандартную установку (default - просто нажмите enter)
2) Настроить установку
3) Отменить установку
> (Enter)
info: profile установлен на 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2025-08-07, rust version 1.89.0 (29483883e 2025-08-04)
info: загрузка компонента 'cargo'
info: загрузка компонента 'clippy'
info: загрузка компонента 'rust-docs'
20.2 MiB / 20.2 MiB (100 %) 16.8 MiB/s in 1s
info: загрузка компонента 'rust-std'
27.6 MiB / 27.6 MiB (100 %) 18.3 MiB/s in 1s
info: загрузка компонента 'rustc'
78.1 MiB / 78.1 MiB (100 %) 21.7 MiB/s in 3s
info: загрузка компонента 'rustfmt'
info: установка компонента 'cargo'
info: установка компонента 'clippy'
info: установка компонента 'rust-docs'
20.2 MiB / 20.2 MiB (100 %) 14.7 MiB/s in 1s
info: установка компонента 'rust-std'
27.6 MiB / 27.6 MiB (100 %) 16.4 MiB/s in 1s
info: установка компонента 'rustc'
78.1 MiB / 78.1 MiB (100 %) 18.3 MiB/s in 4s
info: установка компонента 'rustfmt'
info: тулчайн по умолчанию установлен на 'stable-x86_64-unknown-linux-gnu'
stable-x86_64-unknown-linux-gnu installed - rustc 1.89.0 (29483883e 2025-08-04)
Rust теперь установлен. Отлично!
Чтобы начать работу, вам может понадобиться перезагрузить текущий шелл. Это перезагрузит переменную окружения PATH, чтобы подключить папку bin Cargo ($HOME/.cargo/bin).
Для конфигурации вашего текущего шелла вам нужно выполнить команду source соответствующего env-файла из $HOME/.cargo.
Это обычно делается следующей командой (обратите внимание на начальную ТОЧКУ):
$ . "$HOME/.cargo/env" # Для sh/bash/zsh/ash/dash/pdksh
$ source "$HOME/.cargo/env.fish" # Для fish
$ source $"($nu.home-path)/.cargo/env.nu" # Для nushell
[Установка espup]
espup это инструмент для установки и облуживания необходимых тулчейнов для разработки приложений микроконтроллеров Espressif SoC на языке Rust.
Чтобы лучше понять, что устанавливает espup, см. главу с описанием установки [3] в документации "The Rust on ESP Book".
Предварительные требования. Перед тем, как запустить или установить espup, убедитесь, что rustup установлен (см. выше "Установка rustup").
На Linux-системах также потребуются следующие пакеты:
$ espup install
[info]: Installing the Espressif Rust ecosystem
[info]: Checking Rust installation
[info]: Installing Xtensa Rust 1.88.0.0 toolchain
[info]: Installing Xtensa LLVM
[info]: Installing RISC-V Rust targets ('riscv32imc-unknown-none-elf',
'riscv32imac-unknown-none-elf' and 'riscv32imafc-unknown-none-elf')
for 'stable' toolchain
[info]: Installing GCC (xtensa-esp-elf)
[info]: Creating symlink between '$HOME/.rustup/toolchains/esp/xtensa-esp32-elf-clang/
esp-19.1.2_20250225/esp-clang/lib' and '$HOME/.espup/esp-clang'
[info]: All downloads complete
[info]: Installing 'rust' component for Xtensa Rust toolchain
[info]: Installing 'rust-src' component for Xtensa Rust toolchain
[info]: Installation successfully completed!
To get started, you need to set up some environment variables by running:
'. $HOME/export-esp.sh'
This step must be done every time you open a new terminal.
See other methods for setting the environment in
https://esp-rs.github.io/book/installation/riscv-and-xtensa.html#3-set-up-the-environment-variables
Для дополнительной информации см. далее секцию "Использование".
Настройка переменных окружения. После установки тулчейна, на системах Unix вам нужно выполнить команду source для файла скрипта export-esp.sh, который выполнит экспорт необходимых переменных окружения. Этот файл генерирует espup, и по умолчанию он находится в домашней директории пользователя. Различные способы для source файла:
• В любом терминале:
$ . $HOME/export-esp.sh
Этот метод требует запуска команды в каждом новом шелле.
• Создание алиаса для выполнения export-esp.sh:
i) Скопируйте и вставьте следующую команду в ваш профиль шелла (файл .profile, .bashrc, .zprofile, и т. п., находящийся в директории $HOME):
alias get_esprs='. $HOME/export-esp.sh'
ii) Обновите конфигурацию путем перезапуска сессии терминала, или запустите команду source [путь до файла профиля], например:
$ source ~/.bashrc
Этот метод соответствует запуску алиаса get_esprs в каждом новом шелле.
• Непосредственное добавление нужных команд сразу в ваш профиль.
i) Добавьте содержимое скрипта $HOME/export-esp.sh в профиль вашего шелла: cat $HOME/export-esp.sh >> [путь до профиля], например:
$ cat $HOME/export-esp.sh >> ~/.bashrc
ii) Обновите конфигурацию путем перезапуска сессии терминала, или запустите команду source [путь до профиля], например:
$ source ~/.bashrc
Важное замечание: на операционной системе Windows переменные окружения автоматически инжектируются в вашу систему, и действия по их инжектированию не требуются.
[Использование]
Для подсказки по использованию выполните команду:
$ espup --help
Usage: espup < команда>
Команды:
completions Генерировать автодополнения команд для данного шелла.
install Установит экосистему Espressif Rust
uninstall Деинсталлирует экосистему Espressif Rust
update Обновит тулчейн Xtensa Rust
help Печать этого сообщения, или выведет подсказку на указанную
субкоманду (субкоманды)
Опции:
-h, --help Напечатает help
-V, --version Напечатает версию
[Субкоманда install]
Замечания:
Путь места назначения Xtensa Rust. Пути инсталляции модифицируются установкой переменных окружения CARGO_HOME и RUSTUP_HOME перед запуском команды install. По умолчанию тулчейны будут установлены в подкаталог < rustup_home>/toolchains/esp, хотя это можно поменять опцией -a/--name.
GitHub API. Во время процесса установки делается несколько запросов GitHub, на которые распространяются определенные ограничения. Количество ваших запросов не должно достигать лимита, если вы не запускаете команду espup install много раз за короткий промежуток времени. Рекомендуется установить переменную окружения GITHUB_TOKEN, когда используется espup в интерфейсе командной строки (Command Interface, CI). Если вы используете espup в CI, рекомендуется это делать через xtensa-toolchain action, и убедиться, что GITHUB_TOKEN не установлена, когда работа проводится на машине хоста. См. esp-rs/xtensa-toolchain#15 для дополнительной информации.
$ espup install --help
Установит экосистему Espressif Rust
Использование: espup install [опции]
Опции:
-d, --default-host < DEFAULT_HOST>
Target triple хоста
[возможны значения: x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu,
x86_64-pc-windows-msvc,
x86_64-pc-windows-gnu,
x86_64-apple-darwin,
aarch64-apple-darwin]
-r, --esp-riscv-gcc
Установит тулчейн Espressif RISC-V, собранный с croostool-ng.
Установите это, только если вы не хотите использовать систему
RISC-V toolchain
-f, --export-file < EXPORT_FILE>
Относительный или полный путь для генерируемого файла экспорта.
Если путь не указан, то файл будет сгенерирован в домашней
директории (https://docs.rs/dirs/latest/dirs/fn.home_dir.html)
[env: ESPUP_EXPORT_FILE=]
-e, --extended-llvm
Расширяет инсталляцию LLVM. При этом будет установлена вся LLVM
вместо установки только библиотек. LLVM, или LLVM Core это
независимый от целевой системы оптимизатор и генератор кода
(подробнее см. Википедию)
-l, --log-level < LOG_LEVEL>
Уровень подробности логов
[default: info]
[возможны значения: debug, info, warn, error]
-a, --name < NAME>
Имя тулчейна Rust
[default: esp]
-b, --stable-version < STABLE_VERSION>
Версия стабильного тулчейна Rust. Обратите внимание, что только
цели RISC-V используют стабильный канал Rust
[default: stable]
-k, --skip-version-parse
Пропускает парсинг версии Xtensa Rust
-s, --std
Устанавливать только те наборы инструментов, которые требуются
для приложений STD. С этой опцией espup пропустит инсталляцию
GCC (это будет поддерживаться esp-idf-sys), как следствие вы
не сможете создавать no_std приложения.
-t, --targets < TARGETS>
Список целей, перечисленных через памятую
[esp32,esp32c2,esp32c3,esp32c6,esp32h2,esp32s2,esp32s3,esp32p4,all]
[default: all]
-v, --toolchain-version < TOOLCHAIN_VERSION>
Версия тулчейна Xtensa Rust
-h, --help
Печать подсказки (см. суммарный help с опцией '-h')
Опции субкоманды update в целом совпадают с опциями субкоманды install.
$ espup update --help
Обновит тулчейн Xtensa Rust
Использование: espup update [опции]
Опции:
-d, --default-host < DEFAULT_HOST>
Target triple хоста
[возможны значения: x86_64-unknown-linux-gnu,
aarch64-unknown-linux-gnu,
x86_64-pc-windows-msvc,
x86_64-pc-windows-gnu,
x86_64-apple-darwin,
aarch64-apple-darwin]
Установит тулчейн Espressif RISC-V, собранный с croostool-ng.
Установите это, только если вы не хотите использовать систему
RISC-V toolchain
-f, --export-file < EXPORT_FILE>
Относительный или полный путь для генерируемого файла экспорта.
Если путь не указан, то файл будет сгенерирован в домашней
директории (https://docs.rs/dirs/latest/dirs/fn.home_dir.html)
[env: ESPUP_EXPORT_FILE=]
-e, --extended-llvm
Расширяет инсталляцию LLVM. При этом будет установлена вся LLVM
вместо установки только библиотек.
-l, --log-level < LOG_LEVEL>
Уровень подробности логов
[default: info]
[возможны значения: debug, info, warn, error]
-a, --name < NAME>
Имя тулчейна Rust
[default: esp]
-b, --stable-version < STABLE_VERSION>
Версия стабильного тулчейна Rust. Обратите внимание, что только
цели RISC-V используют стабильный канал Rust
[default: stable]
-k, --skip-version-parse
Пропускает парсинг версии Xtensa Rust
-s, --std
Устанавливать только те наборы инструментов, которые требуются
для приложений STD. С этой опцией espup пропустит инсталляцию
GCC (это будет поддерживаться esp-idf-sys), как следствие вы
не сможете создавать no_std приложения.
-t, --targets < TARGETS>
Список целей, перечисленных через памятую
[esp32,esp32c2,esp32c3,esp32c6,esp32h2,esp32s2,esp32s3,esp32p4,all]
[default: all]
-v, --toolchain-version < TOOLCHAIN_VERSION>
Версия тулчейна Xtensa Rust
-h, --help
Печать подсказки (см. суммарный help с опцией '-h')
[Разрешение Tab-автодополнения в Bash, Fish, Zsh или PowerShell]
Команда espup поддерживает скрипты дополнения для Bash, Fish, Zsh и PowerShell. Для дополнительной информации см. espup help completions, однако суть так же проста, как использование одного из следующего: