Shanraq.org Shanraq.org
Первый проект Cargo
IT

Rust: с нуля до своего органайзера Урок 6 из 10

Первый проект Cargo

Урок 6. Различить проверку, сборку и запуск.

Текст переведён с помощью ИИ.

Предварительно: уроки 1–5.

Зачем это нужно

Cargo похож на организатора мастерской: знает, где исходники и как запустить инструменты. Проект — файлы одной разработки. Пакет Cargo описан файлом Cargo.toml и может содержать одну или несколько собираемых частей. Пока у нас одна программа.

Сразу целиком

В терминале перейдите в rust-learning из урока 4. Команда cargo new создаёт новую папку; organizer — имя проекта. –edition выбирает редакцию правил Rust, а –vcs none отключает создание истории Git, чтобы пока не добавлять новый инструмент. Выполните:

cargo new organizer --edition 2024 --vcs none
cd organizer
cargo check
cargo build
cargo run

check проверяет код, но не создаёт готовую программу. build собирает её, но не запускает. run при необходимости пересобирает и запускает. Новая программа печатает Hello, world! («Привет, мир!»). Строки Compiling и Finished — отчёт Cargo, а не вывод нашей программы.

Где находится программа

Откройте папку organizer через меню «Открыть папку» редактора. Не создавайте внутри неё ещё один organizer. В src/main.rs находится:

fn main() {
    println!("Hello, world!");
}

Вывод программы:

Hello, world!

Сейчас это предоставленная Cargo проба установки. В следующем уроке разберём каждый знак; самостоятельное написание пока не требуется.

Cargo.toml — паспорт проекта в формате TOML: текстовые настройки из разделов и полей. name — имя пакета, version — версия нашей программы, edition — редакция языка. Раздел dependencies предназначен для зависимостей, библиотек, которые использует проект. Образ — готовые детали; сейчас сторонних деталей нет. Cargo.lock фиксирует выбранные версии зависимостей; его ведёт Cargo. Это не второй файл настроек для ручного редактирования.

Версия Rust 1.97.0 и edition 2024 — разные вещи: выпуск инструментов и редакция правил. Папка target содержит результаты сборки, её файлы не редактируем. Debug означает сборку для разработки; оптимизированную release-сборку изучим перед выпуском.

После cargo build можно запустить готовый файл напрямую. На Windows PowerShell:

.\target\debug\organizer.exe

На macOS/Linux:

./target/debug/organizer

Начальное ./ или .\ указывает путь от текущей папки. Прямой запуск не компилирует изменения. Поэтому после изменения кода сначала build или просто run. Команды здесь выполняются из organizer, где находится Cargo.toml.

Если не получилось

could not find Cargo.toml означает, что вы, вероятно, не в папке проекта. destination already exists — папка уже есть: сначала посмотрите её содержимое; не удаляйте свою работу ради повторения инструкции. Ошибка linker возвращает к системным инструментам урока 5.

Опорная карта

new → создать; check → проверить; build → собрать; run → собрать при необходимости и запустить. Код в src, настройки в Cargo.toml, результат в target.

Разминка

  1. Предскажите: обновится ли готовый файл после одного сохранения текста?
  2. Заполните: команда ___ проверяет без создания исполняемого файла.
  3. Почините запуск Cargo из папки выше проекта, перейдя через cd organizer.

Задание

Обязательное. Замените только текст Hello, world! между двойными кавычками на «Органайзер готов к работе». Сохраните main.rs, выполните cargo run. Ожидается ровно эта строка в выводе программы. Затем соберите и запустите готовый файл командой своей ОС.

На своих данных. Измените приветствие, сохраняя кавычки.

Подсказка и эталон

Если старый текст остался, проверьте сохранение и текущую папку. Эталон ниже — полный main.rs; прочитайте его после своей попытки. Не запускайте файл .rs как команду оболочки.

Готовы дальше, если оба способа запуска работают. Теперь проверена не только установка команд, но и сборка.

Справочник Cargo.

Сверка после самостоятельной попытки

Готовый файл не обновится от сохранения текста; check не создаёт исполняемый файл; для Cargo нужна папка с Cargo.toml.

fn main() {
    println!("Органайзер готов к работе");
}

Ожидаемый вывод эталона:

Органайзер готов к работе

Предыдущий урок · Оглавление · Следующий урок

Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом

Комментарии (0)

Пока нет комментариев. Будьте первым.