Введение
Rust — современный язык программирования, который выбирают не только системные программисты, но и команды разработчиков. Он сочетает в себе безопасность, быстроту и высокую производительность. Компилятор Rust еще при сборке выявляет многие ошибки, связанные с памятью, типами и потоками. Это уменьшает вероятность проблем во время выполнения программы.
Вместе с современными инструментами и доступными материалами язык становится удобным как для обучения, так и для разработки.
В этой статье мы разберемся, с чего начать использование языка Rust. Чтобы сделать первые шаги в написании кода, нам нужно корректно установить компилятор и инструменты разработки.
В большинстве популярных операционных систем есть возможность установить Rust через менеджер пакетов. Например, для Debian, Ubuntu, SELECTOS это будет команда:
sudo apt install rustс cargo
# или, если в репозитории есть rustup,
sudo apt install -y rustup && rustup default stable
В командах выше:
- rustc — компилятор Rust и документация rustdoc;
- сargo — менеджер зависимостей и инструмент сборки;
- rustup — менеджер инструментов и установщик Rust, который предоставляет механизм управления версиями языка, компонентами и целевыми платформами. Базовые команды позволяют обновлять toolchain (набор инструментов), переключать версии компилятора и устанавливать дополнительные инструменты разработки.
Версии Rust в пакетном менеджере могут отставать от актуальных. Рекомендую использовать способ установки rustup, указанный на официальном сайте. Это даст вам возможность актуализировать rustup, устанавливать любую поддерживаемую версию Rust и удобно осуществлять необходимые настройки инструментария.
Ниже разберем, как сделать это в часто используемых ОС.
Установка Rust
Подготовка для Linux и macOS
Перед установкой Rust необходимо установить компоновщик (linker) и компилятор C. Если оба уже имеются в системе, шаг подготовки можно пропустить.
Для Linux на базе Debian, Ubuntu или SELECTOS введите команду:
sudo apt install gcс
Если в вашем дистрибутиве другой пакетный менеджер (не apt), то необходимо использовать именно его в команде выше. Вместо gcc можно также установить альтернативный компилятор clang, оба пакета при установке автоматически подтягивают нужные зависимости, которые включают в себя компоновщик.
Для macOS введите команду:
xcode-select --install
Подготовка для Windows
Для установки Rust на Windows необходимо, чтобы в системе были составляющие продукта Visual Studio Build Tools для C++: Microsoft Visual C++ Compiler и набор инструментов для разработки под Windows нужной версии (например, Windows 11 SDK). Если вы уверены в наличии данных компонентов, данный шаг можно пропустить.
Чтобы установить эти инструменты, зайдите на сайт и нажмите кнопку Загрузить Build Tools. Скачается установочный файл.
В открывшемся окне выберите Разработка классических приложений на C++. Если у вас в распоряжении не так много памяти или вы не собираетесь заниматься разработкой приложений на C++, можно установить только указанные ранее компоненты. Это MCVS для x64/x86 (последние поддерживаемые версии обычно в конце списка) и SDK — вы найдете их во вкладке Отдельные компоненты.
Во вкладке Языковые пакеты выберите английский языковой пакет вместе с русским и нажмите Установить. После установки перезагрузите компьютер.
Запуск установки Rust на Linux и macOS
Чтобы установить Rust на любую Unix-подобную ОС, в том числе и macOS, воспользуйтесь командой в консоли:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Запуск установки Rust на Windows
Теперь перейдем к установке Rust. Скачайте установочный файл по ссылке и затем запустите его, используя PowerShell. Далее все команды для ОС Windows будут указаны для случая использования PowerShell:
& C:\path_to_file\rustup-init
Процесс установки на всех ОС
После запуска команды появится информация об установке компилятора языка программирования Rust и Cargo. Вы увидите, в каких директориях будут после установки храниться необходимые для работы исполняемые файлы и метаданные, возможности изменения некоторых настроек, а также текущие параметры установки.
Вывод в терминал после запуска установки на Linux:
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/root/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/root/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/root/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/root/.profile
/root/.bashrc
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes
Вывод в терминале после запуска установки на macOS:
info: downloading installer
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
/Users/admin/.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
/Users/admin/.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
/Users/admin/.cargo/bin
This path will then be added to your PATH environment variable by
modifying the profile files located at:
/Users/admin/.profile
/Users/admin/.zshenv
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: aarch64-apple-darwin
default toolchain: stable (default)
profile: default
modify PATH variable: yes
Вывод в терминале после запуска установки на Windows:
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rustup metadata and toolchains will be installed into the Rustup
home directory, located at:
C:\Users\Workstation\.rustup
This can be modified with the RUSTUP_HOME environment variable.
The Cargo home directory is located at:
C:\Users\Workstation\.cargo
This can be modified with the CARGO_HOME environment variable.
The cargo, rustc, rustup and other commands will be added to
Cargo's bin directory, located at:
C:\Users\Workstation\.cargo\bin
This path will then be added to your PATH environment variable by
modifying the PATH registry key at HKEY_CURRENT_USER\Environment.
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: x86_64-pc-windows-msvc
default toolchain: stable (default)
profile: default
modify PATH variable: yes
Далее вы сможете продолжить установку с указанными параметрами, настроить их или отменить установку.
1) Proceed with standard installation (default - just press enter)
2) Customize installation
3) Cancel installation
>
Если вы передумали проводить установку, можете прервать операцию с помощью Ctrl + C или ввести 3 и нажать Enter.
Вывод в процессе установки для Linux при выборе настроек по умолчанию:
info: profile set to '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 2026-02-12, rust version 1.93.1 (01f6ddf75 2026-02-11)
info: downloading component 'cargo'
10.3 MiB / 10.3 MiB (100 %) 9.0 MiB/s in 1s
info: downloading component 'clippy'
info: downloading component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 10.1 MiB/s in 2s
info: downloading component 'rust-std'
28.1 MiB / 28.1 MiB (100 %) 9.9 MiB/s in 3s
info: downloading component 'rustc'
74.4 MiB / 74.4 MiB (100 %) 11.1 MiB/s in 7s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 7.3 MiB/s in 2s
info: installing component 'rust-std'
28.1 MiB / 28.1 MiB (100 %) 18.3 MiB/s in 2s
info: installing component 'rustc'
74.4 MiB / 74.4 MiB (100 %) 20.2 MiB/s in 3s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
stable-x86_64-unknown-linux-gnu installed - rustc 1.93.1 (01f6ddf75 2026-02-11)
Rust is installed now. Great!
Вывод в процессе установки для macOS при выборе настроек по умолчанию:
info: profile set to 'default'
info: default host triple is aarch64-apple-darwin
info: syncing channel updates for 'stable-aarch64-apple-darwin'
info: latest update on 2026-02-12, rust version 1.93.1 (01f6ddf75 2026-02-11)
info: downloading component 'cargo'
8.1 MiB / 8.1 MiB (100 %) 5.9 MiB/s in 1s
info: downloading component 'clippy'
info: downloading component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 8.1 MiB/s in 2s
info: downloading component 'rust-std'
26.2 MiB / 26.2 MiB (100 %) 6.4 MiB/s in 4s
info: downloading component 'rustc'
60.8 MiB / 60.8 MiB (100 %) 8.8 MiB/s in 8s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 8.0 MiB/s in 2s
info: installing component 'rust-std'
26.2 MiB / 26.2 MiB (100 %) 19.0 MiB/s in 1s
info: installing component 'rustc'
60.8 MiB / 60.8 MiB (100 %) 20.7 MiB/s in 2s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-aarch64-apple-darwin'
stable-aarch64-apple-darwin installed - rustc 1.93.1 (01f6ddf75 2026-02-11)
Rust is installed now. Great!
Вывод в процессе установки для Windows при выборе настроек по умолчанию:
info: profile set to 'default'
info: default host triple is x86_64-pc-windows-msvc
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
info: latest update on 2026-02-12, rust version 1.93.1 (01f6ddf75 2026-02-11)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 10.0 MiB/s in 2s
info: downloading component 'rust-std'
20.9 MiB / 20.9 MiB (100 %) 9.9 MiB/s in 2s
info: downloading component 'rustc'
68.3 MiB / 68.3 MiB (100 %) 11.3 MiB/s in 6s
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
20.7 MiB / 20.7 MiB (100 %) 2.3 MiB/s in 6s
info: installing component 'rust-std'
20.9 MiB / 20.9 MiB (100 %) 18.8 MiB/s in 1s
info: installing component 'rustc'
68.3 MiB / 68.3 MiB (100 %) 19.8 MiB/s in 3s
info: installing component 'rustfmt'
info: default toolchain set to 'stable-x86_64-pc-windows-msvc'
stable-x86_64-pc-windows-msvc installed - rustc 1.93.1 (01f6ddf75 2026-02-11)
Rust is installed now. Great!
Дополнительные настройки
Чтобы узнать, какие настройки можно произвести выполнить на данном этапе, введите 2 и нажмите Enter. Потрдебуется ответить на вопросы из таблицы. В круглых скобках указаны возможные варианты ответов, если их ограниченное количество, а в квадратных — значение по умолчанию, если вы ничего не введете и просто нажмете Enter.
| Вопрос | Пояснения к нему |
| Default host triple? [x86_64-unknown-linux-gnu] | Идентификатор платформы, описывающий архитектуру центрального процессора (ЦП), вендора и операционную систему, для которой Rust будет компилировать программы по умолчанию. Обычно принимает значение по умолчанию, если не рассматривается какой-то нестандартный сценарий — например, сборка программы для платформы, отличной от платформы компиляции (иначе, кросс-компиляция). Если вы сомневаетесь в правильности определения параметра по умолчанию, соотнесите значение в квадратных скобках с результатом команды:Linux/macOS: uname -aWindows: для определения архитектуры ЦП — $env:PROCESSOR_ARCHITECTURE, для определения среды — msvc разработка для Windows, gnu — в остальных специфических случаях. Примеры значений host triple для разных операционных систем:Linux (x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl);macOS (x86_64-apple-darwin, aarch64-apple-darwin);Windows (x86_64-pc-windows-msvc, x86_64-pc-windows-gnu). |
| Default toolchain? (stable/beta/nightly/none) [stable] | Toolchain (набор инструментов), который будет использоваться по умолчанию. Варианты выбора:stable — значение по умолчанию (обновляется каждые 6 недель, используется для разработки);beta — то, что появится в следующей stable версии, включает функции, которые еще не прошли полное тестирование;nightly — выпускается каждую ночь, содержит экспериментальные функции;конкретная версия — (например, nightly-2026-02-15, stable-1.90.0), это удобно для полной совместимости во время разработки;none — ни один toolchain не будет установлен, но после окончания установки для начала работы потребуется установить вручную одну из версий, указанных ранее, или кастомный toolchain. |
| Profile (which tools and data to install)? (minimal/default/complete) [default] | Набор компонентов, который будет установлен:minimal — только rustc, rust-std и cargo;default — то же, что в minimal, + rust-docs, rustfmt, clippy; рекомендован для общего использования;complete все компоненты, когда-либо включенные в метаданные, не рекомендуется к использованию. |
| Modify PATH variable? (Y/n) | Предлагает добавить путь /root/.cargo/bin в системную переменную PATH. Выбор y или нажатие Enter позволяет запускать инструменты Rust без дополнительных действий. Если выбрать n, переменная PATH остается без изменений. Тогда команды нужно будет запускать, используя полный путь до исполняемых файлов. |
Ответив на вопросы, вы снова получите сводку всех назначенных характеристик, которые необходимо проверить.
После процесса установки
В конце успешной установки нас предупреждают, что для дальнейшей работы нужно обновить консоль. Это позволит корректно примениться всем изменениям, произведенным в окружении (расширение значений PATH).
Для Linux и macOS:
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
Для Windows:
To get started you may need to restart your current shell.
This would reload its PATH environment variable to include
Cargo's bin directory (%USERPROFILE%\.cargo\bin).
Press the Enter key to continue.
Если это невозможно, например, из-за того, что работа происходит в контейнере или переменная PATH не была изменена, выполните инициализацию Rust в текущей сессии терминала. Используйте команды, которые подсказывает сам установщик для Unix-подобных ОС:
To configure your current shell, you need to source
the corresponding env file under $HOME/.cargo.
This is usually done by running one of the following (note the leading DOT):
. "$HOME/.cargo/env" # For sh/bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env.fish" # For fish
source $"($nu.home-path)/.cargo/env.nu" # For nushell
В Windows такой возможности нет.
Сводка команд для начала работы с Rust
Далее хочу привести некоторую сводку команд для разных целей. Она поможет проверить, корректно ли прошла установка, начать работу с кодом и узнать, как произвести некоторые настройки. Вам потребуется добавить новые компоненты или выполнить кросс-компиляцию.
| Команды для проверки корректной установки | |
| Вывод текущей версии компилятора | rustc –version |
| Вывод текущей версии Cargo | cargo –version |
| Вывод версии менеджера toolchain | rustup –version |
| Проверка наличия Rust в переменной PATH | Linux и macOS: echo $PATH | grep -q $HOME/.cargo/bin Windows: $env:PATH -split ‘;’ -contains “$env:USERPROFILE\.cargo\bin” |
| Создание, сборка и запуск тестового проекта с помощью Cargo (разбор команд для Сargo приведен ниже) | cargo new test_project cd test_project cargo run |
| Команды для получения информации | |
| Вызов справки для rustup | rustup –help |
| Вызов справки для rustc | rustc –help |
| Вызов справки для Cargo | сargo –help |
| Открыть локальную документацию в браузере | rustup doc |
| Список доступных компонент (например, rust-docs, clippy) | rustup component list |
| Выводит все установленные toolchains | rustup toolchain list |
| Выводит список доступных targets(целевых платформ, для которых компилируется Rust-код) | rustup target list |
| Информация об актиктивной версии toolchain и обо всех установленных toolchains | rustup show |
| Команды для настройки | |
| Добавление Rust в переменную PATH для Linux (вариант зависит от используемой оболочки) или macOS (вариант с ~/.zshrc) | echo ‘. “$HOME/.cargo/env”‘ | tee -a ~/.bashrc ~/.profileилиecho ‘. “$HOME/.cargo/env”‘ | tee -a ~/.zshenv ~/.profile |
| Добавление Rust в переменную PATH для Windows | [Environment]::SetEnvironmentVariable( “PATH”, [Environment]::GetEnvironmentVariable(“PATH”, “User”) + “;$env:USERPROFILE\.cargo\bin”,”User”) |
| Добавление компоненты (установка дополнительного иснтрумента) | rustup component add rust-docs |
| Добавление toolchain с определенной версией Rust (например, stable, beta, 1.92.0, nightly-2026-02-15) | rustup toolchain install <necessary_version> |
| Назначение toolchain, используемого в проектах по умолчанию | rustup default <necessary_toolchain> |
| Добавление нового target (установка необходимых библиотек для компиляции) | rustup target add <necessary_target> |
| Переопеределение toolchain для конкретной директории (проекта) | rustup override set <necessary_version> |
| Отмена предыдущей настройки — возвращение к версии по умолчанию | rustup override unset |
| Команды для обновления или удаления | |
| Обновление rustup и все toolchains, установленных из официальных источников | rustup update |
| Обновление только rustup | rustup self update |
| Обновление конкретного toolchain (например, stable, nightly, beta) | rustup update <toolchain_name> |
| Получение информации об обновлениях rustup и toolchains | rustup check |
| Полное удаление Rust и инструментов для него | rustup self uninstall |
| Команды для работы с Cargo | |
| Создание нового проекта с базовой структурой по указанному пути | cargo new <path> |
| Собрать проект | cargo build |
| Собирает и запускает проект | cargo run |
| Выполняются все проверки компилятора без создания исполняемого файла | cargo check |
| Компилирует и выполняет модульные и интеграционные тесты в проекте | cargo test |
| Запускает линтер (если компонента clippy была установлена) для поиска ошибок в коде, также предлагается оптимизация кода | cargo clippy |
| Форматирование кода проекта | cargo fmt |
| Удаление всех артефактов сборки проекта | cargo clean |
С чего начать изучать Rust
Знакомство с любым новым инструментом — очень субъективный процесс. В первую очередь рекомендую изучить типы данных, задание функций, работу с управляющими конструкциями и то, как пользоваться Cargo. А после можно переходить более сложным вещам — например, управлением памятью. Вот что можно использовать:
- книгу The Rust Programming Language на английском (для версий stable, beta и nightly) и русском языках — она теоретическая и позволит разобраться с основами языка, но после вам потребуется практика;
- курс Rustling будет отличным дополнением к книге — здесь вы найдете практические задания;
- курс Comprehensive Rust не очень удобно оформлен, но поможет практиковаться во владении языком. Есть версия на русском;
- сайт The Rust Bookshelf, где вы найдете еще больше материалов для изучения языка.
Параллельно с изучением источников, указанных выше, стоит разобраться в принципах работы таких структур данных и изучить основы по операционным системам и компьютерным сетям. Уделите особое внимание устройству памяти и работе процессора.
Легко ли переходить на Rust с других языков
Независимо от опыта разработчика, переход на Rust нельзя назвать легким. Вам придется столкнуться с особенностями языка.
- Новый подход в управлении памятью: вам предстоит понять, как работает владение (ownership), заимствование (borrowing), перемещение, времена жизни (lifetimes) и срезы, как распределяются данные в памяти.
- Основы безопасной многопоточности.
- Использование типажей (traits), определяющих поведение в обобщенном виде, обобщенных типов данных (generics), отсутствие наследовани.
- Явная обработка ошибок, которая является частью системы типов и контролируется жестче компилятором.
По отзывам самих разработчиков, переходить на Rust было проще тем, кто до этого писал код на C/C++ и получил опыт системного программирования.
Заключение
Разобравшись с установкой и настройкой Rust, мы совершили небольшой шаг навстречу знакомству с этим языком программирования. Переход с других языков может потребовать времени для понимания модели владения и заимствования, однако именно эти механизмы формируют надежность кода.
Необходимые именно вам инструменты и постоянная практика позволят понять сильные стороны Rust и начать их использовать в собственных проектах.