Skip to content

Подробное руководство по командам Cargo

1. Основные команды

bash
# Создание нового проекта
cargo new my_project        # Бинарный проект
cargo new --lib my_library  # Библиотека

# Сборка
cargo build                 # Debug сборка
cargo build --release      # Release сборка

# Запуск
cargo run                  # Сборка и запуск
cargo run --release       # Запуск release версии
cargo run -- arg1 arg2    # Запуск с аргументами

2. Управление зависимостями

bash
# Обновление зависимостей
cargo update               # Обновить все зависимости
cargo update -p regex     # Обновить конкретную зависимость

# Очистка
cargo clean               # Удалить target директорию
cargo clean -p my_dep    # Очистить конкретную зависимость

# Просмотр зависимостей
cargo tree               # Показать дерево зависимостей
cargo tree -i regex     # Показать зависимости для пакета

3. Тестирование

bash
# Запуск тестов
cargo test                    # Все тесты
cargo test test_name         # Конкретный тест
cargo test -- --nocapture   # С выводом println!

# Бенчмарки
cargo bench                  # Запуск бенчмарков
cargo bench bench_name      # Конкретный бенчмарк

4. Документация

bash
# Генерация документации
cargo doc                    # Создать документацию
cargo doc --open            # Создать и открыть в браузере
cargo doc --no-deps        # Без документации зависимостей

# Проверка документации
cargo test --doc           # Запуск тестов в документации

5. Проверка кода

bash
# Проверка
cargo check                 # Проверка компиляции
cargo clippy               # Линтер
cargo fmt                  # Форматирование кода
cargo fmt -- --check      # Проверка форматирования

6. Публикация

bash
# Публикация в crates.io
cargo login               # Авторизация
cargo package            # Создание пакета
cargo publish           # Публикация
cargo yank --vers 1.0.0 # Отзыв версии

7. Информация о проекте

bash
# Метаданные
cargo metadata           # Информация о проекте в JSON
cargo locate-project    # Путь к Cargo.toml

# Информация о среде
cargo --version        # Версия Cargo
cargo --list          # Список команд

8. Рабочие пространства

bash
# Управление workspace
cargo workspace       # Информация о workspace
cargo build -p pkg   # Сборка конкретного пакета

9. Профилирование и отладка

bash
# Профилирование
cargo profile        # Информация о профилях сборки

# Отладка
cargo run --verbose  # Подробный вывод
RUST_BACKTRACE=1 cargo run  # С выводом стека

10. Дополнительные команды

bash
# Установка бинарных пакетов
cargo install ripgrep      # Установка пакета
cargo install --list      # Список установленных

# Генерация автодополнения
cargo --generate-shell-completions bash > cargo.bash

11. Конфигурация сборки

bash
# Профили сборки в Cargo.toml
[profile.dev]
opt-level = 0
debug = true

[profile.release]
opt-level = 3
debug = false

12. Расширения Cargo

bash
# Установка дополнительных команд
cargo install cargo-edit   # Редактирование зависимостей
cargo install cargo-watch # Автоматическая пересборка
cargo install cargo-outdated # Проверка устаревших зависимостей

13. Часто используемые флаги

bash
--verbose, -v    # Подробный вывод
--quiet, -q      # Минимальный вывод
--jobs, -j       # Количество параллельных задач
--frozen         # Требовать Cargo.lock
--locked         # Требовать Cargo.lock
--offline        # Запретить сетевые запросы

14. Примеры использования

bash
# Разработка
cargo new my_app
cd my_app
cargo add serde
cargo build
cargo run

# Тестирование
cargo test
cargo clippy
cargo fmt

# Релиз
cargo build --release
cargo package
cargo publish

15. Полезные комбинации

bash
# Разработка с автоматической пересборкой
cargo watch -x run

# Полная проверка перед коммитом
cargo fmt && cargo clippy && cargo test

# Сборка с оптимизацией размера
cargo build --release --target-dir=dist

16. Управление зависимостями (с cargo-edit)

bash
# Добавление зависимостей
cargo add serde
cargo add tokio --features full
cargo add regex@1.5.0

# Удаление зависимостей
cargo rm serde

# Обновление зависимостей
cargo upgrade

17. Отладка зависимостей

bash
# Проверка уязвимостей
cargo audit

# Анализ размера
cargo bloat

# Поиск устаревших зависимостей
cargo outdated

18. Рекомендации

  1. Используйте cargo check для быстрой проверки
  2. Добавьте cargo clippy в CI/CD
  3. Настройте профили сборки
  4. Регулярно обновляйте зависимости
  5. Используйте workspaces для больших проектов