Подробное руководство по командам 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.bash11. Конфигурация сборки
bash
# Профили сборки в Cargo.toml
[profile.dev]
opt-level = 0
debug = true
[profile.release]
opt-level = 3
debug = false12. Расширения 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 publish15. Полезные комбинации
bash
# Разработка с автоматической пересборкой
cargo watch -x run
# Полная проверка перед коммитом
cargo fmt && cargo clippy && cargo test
# Сборка с оптимизацией размера
cargo build --release --target-dir=dist16. Управление зависимостями (с cargo-edit)
bash
# Добавление зависимостей
cargo add serde
cargo add tokio --features full
cargo add regex@1.5.0
# Удаление зависимостей
cargo rm serde
# Обновление зависимостей
cargo upgrade17. Отладка зависимостей
bash
# Проверка уязвимостей
cargo audit
# Анализ размера
cargo bloat
# Поиск устаревших зависимостей
cargo outdated18. Рекомендации
- Используйте
cargo checkдля быстрой проверки - Добавьте
cargo clippyв CI/CD - Настройте профили сборки
- Регулярно обновляйте зависимости
- Используйте workspaces для больших проектов