Post

Environnement de développement Rust sur Arch Linux

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 1 pour compiler avec un seul job si la RAM est limitée.
  • Permission errors: Évitez d’utiliser sudo avec cargo install. Utilisez plutôt un répertoire local de bin.
Cet article est sous licence CC BY 4.0 par l'auteur.