Como instalar Rust

Probablemente, a lo ancho y largo de internet, encuentres docenas de maneras de instalar Rust. Por supuesto, con indenpendencia del Sistema Operativo que estés utilizando, y en el caso de Linux, incluso, con independencia de la distribución que estés utilizando. Le he dado muchas vueltas, y he probado varias de estas opciones, y finalmente siempre vuelvo al origen. La mejor forma de instalar Rust es utilizando el script.

Como instalar Rust

Si me hubieras preguntado hace algún tiempo, te habría dicho que recurriendo a las repositorios oficiales de tu distribución. Sin embargo, viendo lo rápido que evoluciona este lenguaje, creo que ni mucho menos es lo mas adecuado.

Es posible que en ArchLinux, si que sea esto posible, sin embargo, como tampoco lo tengo claro. Mi recomendación es que lo hagas utilizando rustup, que es como yo lo estoy haciendo actualmente.

¿Que es rustup?

rustup es el el instalador del lenguaje de programación Rust. Ni mas ni menos ni menos ni mas. Se trata de una herramienta que te permite obtener información no todo lo relativo a Rust, con lo que es un imprescindible.

¿Como instalar rustup?

La instalación de rustup es tremendamente sencilla. Tan solo tienes que ejecutar la siguiente instrucción en una terminal,

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Además de esto, dependiendo de la distribución que utilices, necesitas algunos paquetes mas, necesarios para compilar. En el caso de Ubuntu, por ejemplo, necesitarás los siguientes paquetes,

sudo apt-get install build-essential libssl-dev pkg-config

En el caso de ArchLinux, las dependencias son,

sudo pacman -S base-devel pkgconf openssl

Una vez instalado, mi recomendación es que habilites los autocompletados, lo que te ayudará enormemente a trabajar con esta herramienta,

Por ejemplo en el caso de Bash, lo puedes hacer de la siguiente forma,

rustup completions bash rustup > ~/.local/share/bash-completion/completions/rustup
rustup completions bash cargo > ~/.local/share/bash-completion/completions/cargo

En el caso de Zsh, depende de como lo tengas tu instalado. En general, la recomendación es utilizar,

rustup completions zsh rustup> ~/.zfunc/_rustup
rustup completions zsh cargo> ~/.zfunc/_cargo

Y a continuación en tu .zshrc añadir fpath+=~/.zfunc.

En mi caso particular, dado que estoy utilizando mi propia configuración y la gestiono utilizando mis dotfiles, yo la tengo ubicada en otra ruta. Así, yo lo hago de la siguiente forma,

rustup completions zsh rustup > ~/.config/zsh/plugins/custom-completions/_rustup
rustup completions zsh cargo > ~/.config/zsh/plugins/custom-completions/_cargo

Algunos conceptos

Canales

Rust es liberado bajo 3 canales distintos, stable, beta y nightly. En el caso del canal estable se libera cada 6 semanas. En el canal beta encontrarás lo que aparecerá en la siguiente versión estable. Y por último, en la nightly, encontrarás todo lo que se libera cada noche.

Las herramientas

Lo siguiente son las toolchains, que son las herramientas necesarias para compilar Rust. rustup, se encarga de gestionar estas herramientas. Para ver las toolchains que tienes instaladas, simplemente ejecuta,

rustup toolchain list

Cada toolchain lleva diferentes herramientas, algunas imprescindibles como rustc y otras opcionales. Para conocer los componentes (herramientas) que tienes instaladas en tu equipo, al igual que hiciste anteriormente, solo tienes que ejecutar,

rustup component list

Por ejemplo,

  • rustc el compilador
  • cargo es el gestor de paquetes
  • clippy es la herramienta encargada del análisis sintático
  • rustfmt es la herramienta para formatear código
  • rust-std es la librería estándar de Rust
  • rust-analyzer es el servidor de lenguaje

Los perfiles

Otro concepto a tener en cuenta son los profiles (perfiles). Un profile no es ni mas ni menos que un conjunto de los componentes que vimos anteriormente. Tienes tres perfiles, que son el minimal, default y el complete.

  • El minimal lleva las herramientas mínimas, rustc, rust-std y cargo.
  • El default, como te imaginarás, lleva las mínimas mas rust-docs, rustfmt y clippy.
  • Por último, que da el profile complete que incluye todo. La recomendación, que puedes encontrar en la documentación de rustup, es que no utilices este perfil, porque te puede dar problemas. Lo mejor es utilizar el profile default e instalar aquellos componente que te hagan falta. Por ejemplo, si necesitaras rust-analyzer, lo puedes hacer con,
rustup component add rust-analyzer

Actualizaciones

Una de las grandes ventajas que nos ofrece Linux son los repositorios. Esto nos permite tener nuestras herramientas y aplicaciones siempre actualizadas. El problema de instalar rustup de esta forma, es, precisamente, que nos saltamos los repositorios. Sin embargo, no hay mucho problema, porque rustup, viene, generalmente, con la posibilidad de auto actualizarse.

Esto se configura con la opción auto-self-update. Si quieres conocer como está configurado, si es que está configurado, lo puedes ver en ~/.rustup/settings.toml. Puedes elegir tres tipos de configuración disable, enable y check-only. Este último es como lo tengo configurado. De esta forma, cuando hay una actualización avisa, pero no actualiza.

rustup set auto-self-update check-only

Algunos usos

  • Para ver información general rustup show
$ rustup show

Default host: x86_64-unknown-linux-gnu
rustup home:  /home/lorenzo/.rustup

stable-x86_64-unknown-linux-gnu (default)
rustc 1.72.1 (d5c2e9c34 2023-09-13)
  • Para ver la versión instalada
$ rustup -V
rustup 1.26.0 (5af9b9484 2023-04-05)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.72.1 (d5c2e9c34 2023-09-13)
  • Para actualizar tus herramientas
rustup update
  • Para actualizar rustup
rustup self update

El vídeo

A continuación encontrarás el vídeo correspondiente a este capítulo de Diario de un crustáceo


Más información,

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *