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 compiladorcargo
es el gestor de paquetesclippy
es la herramienta encargada del análisis sintáticorustfmt
es la herramienta para formatear códigorust-std
es la librería estándar de Rustrust-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
ycargo
. - El default, como te imaginarás, lleva las mínimas mas
rust-docs
,rustfmt
yclippy
. - 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 necesitarasrust-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,