Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Установка бинарных файлов с помощью cargo install

Команда cargo install позволяет устанавливать и использовать бинарные крейты локально. Это не предназначено для замены системных пакетов; её цель — предоставить удобный способ разработчикам Rust устанавливать инструменты, которыми другие поделились на crates.io. Обратите внимание, что вы можете устанавливать только пакеты, имеющие бинарные цели. Бинарная цель — это запускаемая программа, которая создаётся, если в крейте есть файл src/main.rs или другой файл, указанный как бинарный, в отличие от библиотечной цели, которая сама по себе не запускаема, но пригодна для включения в другие программы. Обычно в файле README крейта есть информация о том, является ли он библиотекой, имеет ли бинарную цель или и то, и другое.

Все бинарные файлы, установленные через cargo install, сохраняются в папке bin корня установки. Если вы установили Rust с помощью rustup.rs и не имеете пользовательских настроек, этот каталог будет $HOME/.cargo/bin. Убедитесь, что этот каталог присутствует в вашем $PATH, чтобы иметь возможность запускать программы, установленные с помощью cargo install.

Например, в Главе 12 мы упоминали, что существует реализация инструмента grep на Rust под названием ripgrep для поиска по файлам. Чтобы установить ripgrep, выполните следующую команду:

$ cargo install ripgrep
    Updating crates.io index
  Downloaded ripgrep v14.1.1
  Downloaded 1 crate (213.6 KB) in 0.40s
  Installing ripgrep v14.1.1
--snip--
   Compiling grep v0.3.2
    Finished `release` profile [optimized + debuginfo] target(s) in 6.73s
  Installing ~/.cargo/bin/rg
   Installed package `ripgrep v14.1.1` (executable `rg`)

Предпоследняя строка вывода показывает расположение и имя установленного бинарного файла, которым в случае ripgrep является rg. Если каталог установки, как упоминалось ранее, находится в вашем $PATH, вы затем сможете запустить rg --help и начать использовать более быстрый инструмент на Rust для поиска по файлам!