Модуль 4 · Зависимости и crates.io
crates.io — реестр пакетов
crates.io — официальный публичный реестр крейтов Rust. Здесь живут все библиотеки, которые вы добавляете через Cargo.
📖 Теория 🕐 ~15 минут
🌐
Что такое crates.io
crates.io — это централизованный реестр, где разработчики публикуют свои Rust-библиотеки (крейты). Когда вы добавляете зависимость в Cargo.toml, Cargo скачивает её именно оттуда.
📦 Реестр
Более 150 000 крейтов. Любой разработчик может опубликовать свой крейт бесплатно.
🔒 Надёжность
Опубликованный крейт нельзя удалить — только yanked (скрыть). Ваш проект не сломается.
📖 Документация
Каждый крейт автоматически получает документацию на docs.rs — генерируется из кода при публикации.
🔍 Поиск
Поиск по названию, описанию, категориям. Видны статистика загрузок и версии.
🔍
Как искать крейты
Два способа найти нужный крейт:
🌐
Через сайт crates.io
Поиск, фильтрация по категориям, рейтинг популярности, история версий.
💻
Через cargo search
Поиск прямо из терминала.
Терминал
cargo search serde
# serde = "1.0.219" # Serialization and deserialization framework
# serde-xml-rs = "0.6.0" # xml support for serde
# ...
➕
cargo add — добавить зависимость
Терминал
cargo add serde # добавить последнюю версию
cargo add serde@1.0.100 # конкретная версия
cargo add serde --features derive # с фичей
cargo add tokio --features full # несколько фич
cargo add --dev pretty_assertions # dev-зависимость
cargo add --build cc # build-зависимость
cargo add автоматически находит последнюю стабильную версию и добавляет строку в Cargo.toml. Не нужно вручную смотреть версию на crates.io.
⭐
Популярные крейты — что знать
serde Сериализация / десериализация (JSON, TOML, YAML и др.)tokio Асинхронная среда выполненияreqwest HTTP-клиентclap Парсинг аргументов командной строкиanyhow Удобная обработка ошибокrayon Параллельные итераторыlog / tracing Логирование📌 Что важно запомнить
→ crates.io — официальный реестр. cargo add имя — добавить крейт
→ cargo search имя — поиск из терминала
→ Документация любого крейта — docs.rs/имя
→ Опубликованные крейты нельзя удалить — только скрыть (yank)