Установка и cargo
Ставим Rust через rustup и знакомимся с cargo — единым инструментом сборки, запуска и управления зависимостями.
cargo — официальный менеджер пакетов и система сборки Rust: создаёт проекты, компилирует код, запускает тесты и тянет зависимости одной командой.
Установка через rustup
Rust ставится не одной программой, а через rustup — менеджер версий тулчейна. Он устанавливает компилятор rustc, менеджер cargo и стандартную библиотеку, а потом умеет обновлять их и переключать версии.
# Linux / macOS — установка одной командой
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# проверяем, что всё встало
rustc --version
cargo --versionНа Windows скачивают rustup-init.exe с сайта rustup.rs и запускают его. После установки перезапустите терминал, чтобы команды появились в PATH.
Зачем нужен cargo
Технически можно компилировать файлы напрямую через rustc main.rs, но так почти никто не делает. cargo избавляет от ручной работы: он знает стандартную структуру проекта, собирает все файлы, скачивает библиотеки с crates.io и запускает тесты. Любой проект на Rust — это cargo-проект.
Создаём первый проект
cargo new hello
cd helloКоманда cargo new создаёт каталог с готовой структурой:
hello/
Cargo.toml # манифест: имя, версия, зависимости
src/
main.rs # точка входа программыФайл Cargo.toml — это манифест проекта в формате TOML. Здесь описаны имя, версия и зависимости.
[package]
name = "hello"
version = "0.1.0"
edition = "2021"
[dependencies]Сборка и запуск
Три команды покрывают повседневную работу.
| Команда | Что делает |
cargo build | компилирует проект в target/debug/ |
cargo run | компилирует (если нужно) и сразу запускает |
cargo check | быстро проверяет код на ошибки без сборки бинарника |
cargo runВывод:
Compiling hello v0.1.0 (/path/to/hello)
Finished dev [unoptimized + debuginfo] target(s) in 0.45s
Running `target/debug/hello`
Hello, world!Команда cargo check — секретное оружие новичка: она проверяет код компилятором, но не тратит время на генерацию бинарника. В цикле «правка → проверка ошибок владения» это в разы быстрее полной сборки.
Релизная сборка
По умолчанию cargo собирает отладочную версию — быстро компилируется, но медленно работает. Для финальной сборки с оптимизациями добавляют --release:
cargo build --release # результат в target/release/, работает в разы быстрееИтог
rustupставит и обновляет тулчейн;cargo— единый инструмент сборки и зависимостей.cargo newсоздаёт проект,cargo runсобирает и запускает,cargo checkбыстро ищет ошибки.- Манифест
Cargo.tomlописывает проект; зависимости добавляются в секцию[dependencies].