Lección 2

Instalación y herramientas

Instala Rust con rustup, entiende qué hace cada herramienta del ecosistema (rustc, Cargo, rustfmt, Clippy, rust-analyzer) y configura feedback continuo.

Nivel
Introducción
Duración
20 min
Actualizada

Instalar no es solo “descargar un binario”

En la lección anterior viste qué problemas intenta resolver Rust. Ahora toca tener el entorno funcionando: no un compilador suelto, sino un conjunto de herramientas que trabajan juntas desde el primer minuto.

Rust no distribuye un único instalador con todo dentro. Distribuye rustup, un gestor de toolchains que instala y actualiza el resto. Entender esa diferencia evita confusiones más adelante, cuando aparezcan canales (stable, beta, nightly) o varios proyectos que necesitan versiones distintas del compilador.

Mapa del paso

  • TAREA · sin toolchainningún rustc disponible
  • HERRAMIENTA · instalador oficialelige canal y target
  • RESULTADO · toolchain activarustc --version funciona
01 / 04RUSTUP · CANAL · TOOLCHAIN

Instala en tu sistema

Instala rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Si es la primera vez que compilas C/C++ en la máquina, el instalador te pedirá las Build Tools de Visual Studio (Windows) o las Command Line Tools (macOS); acéptalas, las necesita el linker.

Verifica la instalación en cualquier sistema:

Comprueba la toolchainmacOS · Linux · PowerShell
rustc --version
cargo --version
rustup show

Si los tres comandos responden con una versión y un canal stable, la toolchain está lista.

Qué hace cada herramienta

HerramientaQué haceComando típico
rustupInstala y actualiza toolchains y componentesrustup update
rustcCompila un crate a binario o bibliotecainvocado por Cargo
CargoGestiona el proyecto, dependencias y buildscargo build
rustfmtFormatea el código con un estilo únicocargo fmt
ClippyAplica lints adicionales de calidad e idiomatismocargo clippy
rust-analyzerDa soporte de editor (LSP): autocompletado, errores en vivose integra en el editor

Para tener rustfmt, Clippy y rust-analyzer disponibles, añade los componentes a la toolchain activa:

Añade componentesmacOS · Linux · PowerShell
rustup component add rustfmt clippy rust-analyzer

La mayoría de editores modernos (VS Code, Zed, Neovim con un cliente LSP) detectan rust-analyzer automáticamente en cuanto abres un proyecto Cargo.

Feedback continuo

Estos comandos no son obligatorios para empezar, pero ahorran fricción desde el primer proyecto real:

Automatiza lo repetitivomacOS · Linux · PowerShell
cargo add serde --features derive   # añade una dependencia
cargo rm serde                      # la retira
cargo clippy --fix                  # aplica correcciones automáticas
bacon                               # revisa el proyecto en cada guardado

Si mantienes proyectos en varios lenguajes, mise puede gestionar la toolchain de Rust junto a las demás desde una sola configuración por repositorio:

Gestiona con misemacOS · Linux · PowerShell
mise use rust@stable

No sustituye a rustup dentro de un proyecto puramente Rust; es una capa adicional útil cuando el equipo ya usa mise para otros lenguajes.

Qué no cubre esta lección

  • No es una guía de configuración paso a paso de cada editor: cada uno integra rust-analyzer de forma distinta.
  • No resuelve errores concretos de instalación (proxies corporativos, permisos de red, antivirus). Para eso, la sección de troubleshooting del propio rustup suele ser el mejor punto de partida.
  • No explica todavía cargo new, build, run ni test: eso es la siguiente lección.

Qué sigue

Con el entorno instalado, la siguiente lección crea tu primer proyecto con Cargo y recorre el ciclo new → check → build → run → test.

Resumen

  • rustup instala y gestiona toolchains (canal + plataforma); rustc y Cargo llegan juntos.
  • Cargo es la herramienta de uso diario: coordina dependencias, compilación y reproducibilidad vía Cargo.toml/Cargo.lock.
  • rustfmt, Clippy y rust-analyzer dan feedback de estilo, lints y tipos antes de compilar, no lo sustituyen.
  • cargo add/rm, clippy --fix y un watcher como bacon reducen el ciclo manual de editar y relanzar comandos.
  • mise es una alternativa a rustup solo cuando el proyecto convive con toolchains de otros lenguajes.

Fuentes