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!