Environnement de développement Rust sur Arch Linux
Rust est un langage de programmation de systèmes modernes connu pour sa vitesse, sa sécurité et sa concurrence. Que vous construisiez des serveurs Web, des outils CLI ou des logiciels embarqués, Rust offre un écosystème robuste et une communauté en pleine croissance. Arch Linux, étant une distribution rolling-release, est idéal pour les développeurs qui préfèrent les logiciels de pointe et un haut degré de personnalisation.
Dans cet article, nous allons vous guider dans la mise en place d’un environnement de développement Rust complet sur Arch Linux, de l’installation de la chaîne d’outils Rust à la configuration de votre éditeur et à la construction de votre premier projet.
1. Prérequis
Vérification mise à jour de la distribution
1
sudo pacman -Syu
Les outils de développement de base qui incluent des compilateurs essentiels et des outils de construction comme gcc, make, et pkg-config.
1
sudo pacman -S base-devel git
2. Installation de Rust avec rustup
Bien que les dépôts officiels d’Arch incluent rustet cargo, il est recommandé d’utiliser rustup, l’outil officiel d’installation et de gestion de version pour Rust. Il vous donne le contrôle sur différentes versions et simplifie le processus de mise à jour.
Étape 1: Installez rustup
1
sudo pacman -S rustup
Étape 2: Installez la chaîne d’outils Rust
Initialiser l’environnement Rust par défaut:
1
rustup default stable
Cela installe la version stable de Rust, qui comprend:
rustc(le compilateur Rust)cargo(Gestionnaire de paquets de Rust et outil de construction)rust-std(bibliothèques standard)
Pour vérifier l’installation:
1
2
rustc --version
cargo --version
3. Gestion des versions Rust
Rust a trois canaux de libération:
- StableStable: Idéal pour la plupart des développeurs.
- Beta : Utile pour tester les fonctionnalités à venir.
- Nightly: Inclut des fonctionnalités expérimentales et des API instables.
Vous pouvez facilement installer et basculer entre eux:
1
2
rustup install nightly
rustup default nightly
Pour remplacer la chaîne d’outils pour un seul projet:
1
rustup override set nightly
Pour supprimer l’override:
1
rustup override unset
4. Installation de composants Rust utiles
Certains outils sont facultatifs mais très utiles:
Clippy – Rust Linter
1
rustup component add clippy
Utilisation:
1
cargo clippy
Rustfmt – Formateur de code
1
rustup component add rustfmt
Utilisation:
1
cargo fmt
Documentation (facultatif)
Pour installer la documentation locale Rust:
1
rustup component add rust-docs
Puis vue avec:
1
rustup doc
Cela ouvre la documentation dans votre navigateur.
5. Configurer votre éditeur de code ou IDE
Rust bénéficie d’un excellent support dans plusieurs éditeurs. Voici comment configurer les plus populaires sur Arch Linux.
a. Visual Studio Code
Installez-le à partir de l’AUR ou du binaire officiel:
1
sudo pacman -S code
Installez l’extension Rust (Rust Analyzer) depuis le marché:
- Ouvrir le code VS.
- Aller à Extensions (
Ctrl+Shift+X). - Recherche pour
rust-analyzeret l’installer.
Assurez-vous que rust-analyzerest installé:
1
rustup component add rust-analyzer
Si vous préférez le bleeding edge, installez rust-analyzerde l’AUR:
1
yay -S rust-analyzer
b. Neovim
Installer Neovim:
1
sudo pacman -S neovim
Utilisez des plugins comme rust.vim, coc.nvim, ou nvim-lspconfigpour l’intégration de Rust.
Si vous utilisez coc.nvim:
1
:CocInstall coc-rust-analyzer
c. IntelliJ IDEA avec Rust Plugin
Téléchargez IntelliJ IDEA (Community ou Ultimate) à partir de JetBrains ou utilisez l’AUR:
1
yay -S intellij-idea-community-edition
Installez ensuite le plugin officiel Rust via Settings > Plugins.
6. Créer et construire des projets Rust
Rust utilisecargopour gérer des projets.
Créer un nouveau projet
1
2
cargo new my_app
cd my_app
Cela crée une nouvelle application binaire avec un fichier de base main.rs.
Pour créer une bibliothèque:
1
cargo new --lib my_lib
Construire et exécuter le projet
1
2
cargo build
cargo run
Tester le Project
1
cargo test
7. Explorer écosystème Cargo
Cargo charge les dépendances via le fichier Cargo.toml.
Ajouter des dépendances
Editer le fichier Cargo.toml et ajouter une dépendance:
1
2
[dependencies]
reqwest = "0.11"
Ensuite, construisez à nouveau votre projet:
1
cargo build
Cargo va aller chercher la dépendance dans crates.io, le registre officiel des paquets de Rust.
8. Personnalisation de l’environnement
Configurer Cargo
Cargo a un fichier de configuration que vous pouvez utiliser pour les paramètres proxy, les paramètres du compilateur ou les registres personnalisés:
1
2
mkdir -p ~/.cargo
nano ~/.cargo/config.toml
Exemple:
1
2
3
4
5
[build]
target = "x86_64-unknown-linux-gnu"
[term]
verbose = true
Définition des variables d’environnement
Ajoutez-les à ~/.bashrcou ~/.zshrc:
1
2
3
export CARGO_HOME="$HOME/.cargo"
export RUSTUP_HOME="$HOME/.rustup"
export PATH="$CARGO_HOME/bin:$PATH"
Puis source le fichier:
1
source ~/.bashrc
## 9. Utiliser la documentation Rust
La documentation de Rust est l’une de ses meilleures caractéristiques. Vous pouvez accéder à docs pour n’importe quelle crate avec:
1
cargo doc --open
Cela générera de la documentation HTML pour votre projet et ses dépendances, et l’ouvrira dans votre navigateur. Vous pouvez également explorer les crates sur https://docs.rs.
10. Utilisation Rust avec Arch Build System (PKGBUILD)
Si vous envisagez de distribuer une application Rust via l’AUR, vous devrez écrire un PKGBUILD.
Voici un exemple minimal pour un crate binaire:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pkgname=my_app
pkgver=1.0.0
pkgrel=1
pkgdesc="A simple Rust application"
arch=('x86_64')
url="https://github.com/username/my_app"
license=('MIT')
depends=()
makedepends=('rust' 'cargo')
source=("$pkgname-$pkgver.tar.gz::https://github.com/username/my_app/archive/v$pkgver.tar.gz")
sha256sums=('SKIP')
build() {
cd "$srcdir/$pkgname-$pkgver"
cargo build --release --locked
}
package() {
install -Dm755 "target/release/my_app" "$pkgdir/usr/bin/my_app"
}
Cela permet aux autres utilisateurs d’Arch de construire et d’installer facilement votre application en utilisant makepkg.
11. Maintenir Rust à jour
Avec rustup, mettre à jour Rust est simple:
1
rustup update
Vous pouvez également mettre à jour tous les composants et chaînes d’outils installés de cette façon.
12. Résolution des problèmes courants
- Missing linker ou build dependencies: Assurez-vous que
base-develest installé. - Cargo hangs while compiling: Utiliser
cargo build -j 1pour compiler avec un seul job si la RAM est limitée. - Permission errors: Évitez d’utiliser
sudoaveccargo install. Utilisez plutôt un répertoire local de bin.
