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 ми згадували, що існує реалізація Rust інструмента grep, яка називається 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-орієнтований інструмент для пошуку у файлах!