Menginstal Binaries dengan cargo install
Perintah cargo install memungkinkan kita buat menginstal dan memakai binary
crates secara lokal. Ini tidak ditujukan buat menggantikan sistem packages;
ini ditujukan sebagai cara yang praktis buat para developer Rust untuk
menginstal tools yang udah di-share sama orang lain di
crates.io. Perhatikan bahwa kita cuma bisa menginstal
packages yang punya binary targets. Sebuah binary target adalah program
yang bisa dijalankan (runnable) yang dibikin kalau crate tersebut punya
file src/main.rs atau file lain yang ditentukan sebagai binary, kebalikan
dari library target yang tidak bisa dijalankan secara mandiri melainkan cocok
buat dimasukkan ke dalam program lain. Biasanya, crates punya informasi di
dalam file README soal apakah sebuah crate itu library, punya binary
target, atau dua-duanya.
Semua binaries yang diinstal pakai cargo install disimpan di dalam folder
bin di direktori root instalasi. Kalau kita menginstal Rust pakai
rustup.rs dan tidak punya konfigurasi kustom apa pun, direktori ini bakal ada
di $HOME/.cargo/bin. Pastikan direktori tersebut ada di dalam $PATH kita
biar kita bisa menjalankan program-program yang udah kita instal pakai
cargo install.
Misalnya, di Bab 12 kita sempat menyinggung kalau ada implementasi Rust dari
tool grep yang bernama ripgrep buat nyari-nyari file. Buat menginstal
ripgrep, kita bisa menjalankan yang berikut ini:
$ 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`)
Dua baris terakhir dari output-nya menunjukkan lokasi dan nama dari binary
yang udah diinstal, yang mana di kasus ripgrep namanya adalah rg. Selama
direktori instalasinya ada di dalam $PATH kita, seperti yang udah disebutkan
sebelumnya, kita kemudian bisa menjalankan rg --help dan mulai memakai tool
yang lebih kencang dan lebih bergaya Rust buat nyari file!