Installer des binaires à partir de crates.io avec cargo install
La commande cargo install
vous permet d'installer et utiliser des crates de
binaires localement. Cela n'est pas conçu pour remplacer les paquets systèmes ;
c'est plutôt un moyen pratique pour les développeurs Rust d'installer
des outils que les autres ont partagé sur
crates.io. Notez que vous ne pouvez
installer que des paquets qui ont des destinations binaires. Une destination
binaire est le programme exécutable qui est créé si la crate a un fichier
src/main.rs ou un autre fichier désigné comme binaire, par opposition
à une destination de bibliothèque qui n'est pas exécutable en tant que telle
mais qu'il est possible d'intégrer à d'autres programmes. Habituellement,
l'information permettant de savoir si une crate est une bibliothèque, possède
plutôt une destination binaire ou les deux à la fois figure dans le
fichier README.
Tous les binaires installés avec cargo install
sont stockés dans le dossier
bin de la racine. Si vous installez Rust avec rustup.rs et que vous n'avez
pas personnalisé la configuration, ce dossier sera $HOME/.cargo/bin.
Assurez-vous que ce dossier est dans votre $PATH
pour pouvoir exécuter des
programmes que vous avez installés avec cargo install
.
Par exemple, dans le chapitre 12, nous avions mentionné le fait qu'il existait
une implémentation de l'outil grep
en Rust qui s'appelait ripgrep
et qui
permettait de rechercher dans des fichiers. Si nous voulons installer
ripgrep
, nous pouvons faire comme ceci :
$ cargo install ripgrep
Updating crates.io index
Downloaded ripgrep v11.0.2
Downloaded 1 crate (243.3 KB) in 0.88s
Installing ripgrep v11.0.2
-- partie masquée ici --
Compiling ripgrep v11.0.2
Finished release [optimized + debuginfo] target(s) in 3m 10s
Installing ~/.cargo/bin/rg
Installed package `ripgrep v11.0.2` (executable `rg`)
L'avant-dernière ligne de la sortie nous montre l'emplacement et le nom du
binaire installé, qui est rg
dans le cas de ripgrep
. Tel que mentionné
précédemment, du moment que le dossier d'installation est dans votre $PATH
,
vous pouvez ensuite lancer rg --help
et commencer à utiliser un outil en Rust
plus rapide pour rechercher dans des fichiers !