Primeros pasos

Instalación

El primer paso a realizar es instalar Rust y para ello debemos descargar rustup, una herramienta de línea de comandos para gestionar las versiones de Rust y herramientas asociadas. rustup descarga componentes de Internet bajo demanda, por lo que si necesitas instalar Rust sin acceso a Internet, rustup no es la herramienta adecuada.

Nota: En la página de instalación de Rust puedes encontrar otras opciones para realizar la instalación.

Versiones y lanzamientos

Rust tiene un proceso de liberación rápida de 6 semanas, es decir, cada seis semanas hay una versión nueva del compilador, siendo la versión 1.44.0 la última publicada. El proceso de lanzamiento de Rust sigue el modelo 'release train', en el que hay tres 'canales de lanzamiento' a través de los que los binarios oficiales de Rust son publicados: nightly, beta y stable, y estos canales de lanzamiento corresponden a las ramas de desarrollo.

Rust soporta un gran número de plataformas, por lo que hay muchas versiones de Rust disponibles en cualquier momento. rustup gestiona estas versiones de manera consistente en cada plataforma que Rust soporta, permitiendo la instalación de Rust desde los canales de lanzamiento beta y nightly, así como soporte para compilación cruzada en otras plataformas.

La naturaleza del desarrollo y lanzamientos es diferente en cada canal, ya que cada uno tiene un objetivo específico. nightly es para el desarrollo activo, beta es para pruebas y corrección de errores y stable es para lanzamientos finales.

Nightly es donde sucede la mayor parte del desarrollo, construido a partir de la rama master de rust-lang/rust cada noche, de ahí el nombre. Brinda acceso a funcionalidades en desarrollo antes de que sean publicadas.

En la rama beta se realizan pruebas y correción de errores, especialmente en la compatibilidad con versiones anteriores del compilador. Las funcionalidades y mejoras que se prueban en este canal son candidatas a estar en la próxima versión.

'Stable' se actualiza cada seis semanas y es donde puede accederse a la última versión de Rust. En donde las funcionalidades y mejoras que pasaron las pruebas están disponibles.

Las garantías de estabilidad de Rust aseguran que todos los ejemplos en el libro continuarán compilando con las versiones nuevas de Rust. La salida puede diferir ligeramente entre versiones, porque Rust frecuemente mejora los mensajes de error y advertencias. En otras palabras, cualquier versión estable de Rust que instales siguiendo estos pasos debería funcionar como se espera con el contenido de este libro.

Notación de la línea de comandos

En este capítulo y en todo el libro, mostraremos algunos comandos que deben ejecutarse en la terminal. Las líneas que debes escribir en la terminal empiezan con $. No necesitas escribir el caracter $; indica el inicio de de cada comando. Las líneas que no empiecen con $ generalmente muestran la salida del comando anterior. Adicionalmente, ejemplos específicos de PowerShell usarán > en lugar de $.

Instalar rustup

Para instalar rustup puedes seguir las instrucciones disponibles en rustup.rs o consultar las secciones 1.1.1, 1.1.2 y 1.1.3, donde puedes encontrar información más amplia sobre como instalar en Windows, Linux y Mac OS X.

Actualizar y Desinstalar

Despues de que has instalado Rust via rustup, actualizar a la última versión es sencillo. Desde tu terminal, ejecuta el siguiente script de actualización:

$ rustup update

Para desinstalar Rust y rustup, ejecuta el siguiente script de desinstalación desde tu terminal:

$ rustup self uninstall

Solución de problemas

Para comprobar si has instalado Rust correctamente, abre una terminal y escribe esta línea:

$ rustc --version

Deberías ver el número de versión, el hash del commit, y la fecha de commit en el siguiente formato para la última versión estable que has sido publicada

rustc x.y.z (abcabcabc yyyy-mm-dd)

Si ves esta información, ¡has instalado Rust exitosamente! Si no ves esta información y estás en Windows, revisa que Rust esté en la varible de sistema %PATH%. Si todo está correcto and Rust aún no está funcionando, hay un número de lugares donde puedes ontener ayuda. Lo más sencillo es en el canal #beginners en the official Rust Discord. Ahí, puedes conversar con otros Rustaceans (un nombre tonto con el que nos llamamos) que pueden ayudarte. Otros grandes recursos incluye the Users forum y Stack Overflow.

Documentación local

La instalación de Rust también incluye una copia de la documentación localmente, así que puedes leerla fuera de línea. Ejecuta rustup doc para abrir la documentación local en tu navegador.

Cuando un tipo o función es proporcionado por la librería estándar y no estás seguro de qué hace o cómo usarlo, usa la documentación de la interfaz de programación de aplicaciones (API).

Windows

Herramientas de compilación de C++

Para realizar la compilación de los programas escritos en Rust se necesita un enlazador, que en caso de no estar instalado, el compilador mostrará algunos errores indicando que el enlazador no puede ejecutarse, por lo que debe instalarse manualmente. Los compiladores de C usualmente vienen con el enlazador correcto. Además, algunos paquetes de Rust dependen de código C y necesitarán un compilador de C. Por lo tanto, valdría la pena instalar uno ahora.

En Windows necesitas instalar las herramientas de compilación de C++ para Visual Studio 2013 o superior. La forma más sencilla de adquirir las herramientas de compilación es instalar Microsoft C++ Build Tools. Después de descargar e iniciar el instalador, en el sistema estará disponible Visual Studio Installer, desde donde debes seleccionar las Herramientas de compilación de C++ para que se instalen.

Rust

En el navegador, dirígete a https://www.rust-lang.org/tools/install y descarga el instalador, rustup-init.exe, eligiendo el que corresponda a la arquitectura del sistema (32 o 64 bits).

Este abrirá una línea de comandos, después de comprobar que las Herramientas de compilación de C++ están instaladas, mostrará lo siguiente:

Current instalation options:

  default host triple: x86_64-pc-windows-msvc
    default toolchain: stable
              profile: default
 modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

La línea default host triple muestra la plataforma en donde se está instalando. En default toolchain aparece la versión de Rust que será instalada por defecto.

Para continuar seleccionamos la opción 1 (opción por defecto) y presionamos Enter en el teclado. Si la instalación es exitosa mostrará lo siguiente:

  stable installed - rustc 1.44.0 (49cae5576 2020-06-01)

Rust is installed now. Great!

To get started you need Cargo's bin directory (%USERPROFILE%.cargo/bin) in your PATH environment variable. Future applications will automatically have the correct environment but you may need to restart your current shell.

Después de terminar la instalación, rustup muestra la versión de Rust instalada e indica que es necesario agregar el directorio bin de Cargo a la varibale del sistema PATH. Esto se hará automáticamente la próxima vez que abras la terminal.

Para terminar, presiona Enter y se cerrará la terminal.

El resto de este libro usa comandos que funcionan en cmd.exe y PowerShell. Si hay diferencias específicas, explicaremos cual usar.

Linux

En sistemas operativos Linux para instalar rustup puedes seguir las instrucciones disponibles en rustup o usar el gestor de paquetes de Arch Linux y sistemas basados en Arch, en los que rustup se encuentra disponible desde los repositorios

Dependencias

Después de instalar Rust, Cargo, el gestor de paquetes de Rust, y rustc, el compilador, estarán disponibles en tu sistema. Para estas herramientas necesitas los siguientes paquetes para que funcionen correctamente, de acuerdo al repositorio de GitHub.

  • git
  • curl (en Unix)
  • pkg-config (en Unix, usado para descifrar las bibliotecas/cabeceras de libssl)
  • Cabeceras de OpenSSL (solo para Unix, este es el paquete libssl-dev en Ubuntu)
  • Un compilador de C (Gcc, por ejemplo)

De los paquetes anteriores se debe instalar curl, en caso de no estar disponible en el sistema, para poder ejecutar correctamente el comando de instalación indicado en rustup.rs.

Adicionalmente se necesita un enlazador, que en caso de no estar instalado, el compilador mostrará algunos errores indicando que el enlazador no puede ejecutarse, por lo que debe instalarse manualmente. Los compiladores de C usualmente vienen con el enlazador correcto. Además, algunos paquetes de Rust dependen de código C y necesitarán un compilador de C. Por lo tanto, valdría la pena instalar uno ahora.

El compilador de C que se usa en Linux es GCC. Para instalar ambos paquetes lo haces usando el gestor de paquetes de tu distribución. En seguida se muestra el comando que debes ejecutar en algunas de las distribuciones más usadas.

Debian/Ubuntu

En Debian/Ubuntu y derivados, GCC está disponible como paquete individual o como parte del grupo build-essential, curl se encuentra como un paquete individual.

Con apt:

$ sudo apt install gcc curl

Con apt-get:

$ sudo apt-get install gcc curl

Fedora / CentOS

En Fedora el grupo Development Tools contiene a GCC y otras herramientas de compilación, en CentOS se encuentra en el grupo @development, también disponible como paquete individual. curl está disponible como paquete individual.

Con yum:

$ sudo yum install gcc curl

Con dnf

$ sudo dnf install gcc curl

Arch Linux y derivados

En Arch Linux y sistemas basados en esta distribución, como Manjaro Linux, GCC está disponible como paquete individual y como parte del grupo base-devel. curl está disponible como paquete individual, aunque no es necesario instalarlo pues rustup está disponible en los repositorios.

$ sudo pacman -S gcc

Instalando Rust

Arch Linux

Si eres usuario de Arch Linux o sistemas operativos basados en esta distribución, para instalar rustup puedes usar pacman.

$ sudo pacman -S rustup

Después de instalar rustup, para instalar la versión stable de Rust, ejecuta el siguiente comando en la terminal:

$ rustup install stable

Otras distribuciones

En otras distribuciones, ejecuta el siguiente comando en la terminal, de acuerdo a rustup:

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

El comando anterior descarga un script e inicia la instalación de rustup, y te guiará en el proceso de instalación de la versión stable de Rust. En la terminal se mostrará un texto similar al siguiente:

Current instalation options:

  default host triple: x86_64-unknown-linux-gnu
    default toolchain: stable
 modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

La línea default host triple muestra la plataforma en donde se está instalando. En default toolchain aparece la versión de Rust que será instalada por defecto.

Para continuar seleccionamos la opción 1 (opción por defecto) y presionamos Enter en el teclado. Si la instalación es exitosa mostrará lo siguiente:

  stable installed - rustc 1.44.0 (49cae5576 2020-06-01)

Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH environment variable. Next time you log 
in this will be done automatically.

To configure your current shell run source $HOME/.cargo/env

Después de terminar la instalación, rustup muestra la versión de Rust instalada e indica que es necesario agregar el directorio bin de Cargo a la varibale del sistema PATH. Esto se hará automáticamente la próxima vez que abras la terminal.

Pero si quieres configurar la terminal actual, ejecuta el siguiente comando:

$ source $HOME/.cargo/env

Además, al final del archivo bashrc puedes agregar export PATH="$HOME/.cargo/bin:$PATH":

$ echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc

Mac OS X

Compilador de C

Para realizar la compilación de los programas escritos en Rust se necesita un enlazador, que en caso de no estar instalado, el compilador mostrará algunos errores indicando que el enlazador no puede ejecutarse, por lo que debe instalarse manualmente. Los compiladores de C usualmente vienen con el enlazador correcto. Además, algunos paquetes de Rust dependen de código C y necesitarán un compilador de C. Por lo tanto, valdría la pena instalar uno ahora.

En Mac puedes instalar GCC descargando Command Line Tools for XCode desde el sitio del Developer Program de Apple, la última versión disponible es la 11.5.

Después de haber descargado el archivo .dmg, se mostrará un archivo con extensión .mpkg, al que debes dar doble click para iniciar la instalación.

Para comprobar que GCC ya está disponible en el sistema, ejecuta el siguiente comando:

$ gcc -v

Si la instalación es correcta, mostrará la versión de GCC que fue instalada.

Rust

rustup

Para instalar Rust, ejecuta el siguiente comando en la terminal, de acuerdo a rustup:

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

El comando anterior descarga un script e inicia la instalación de rustup, y te guiará en el proceso de instalación de la versión stable de Rust. En la terminal se mostrará un texto similar al siguiente:

Current instalation options:

  default host triple: x86_64-apple-darwin
    default toolchain: stable
 modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>

La línea default host triple muestra la plataforma en donde se está instalando. En default toolchain aparece la versión de Rust que será instalada por defecto.

Para continuar seleccionamos la opción 1 (opción por defecto) y presionamos Enter en el teclado. Si la instalación es exitosa mostrará lo siguiente:

  stable installed - rustc 1.44.0 (49cae5576 2020-06-01)

Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH environment variable. Next time you log
in this will be done automatically.

To configure your current shell run source $HOME/.cargo/env

Después de terminar la instalación, rustup muestra la versión de Rust instalada e indica que es necesario agregar el directorio bin de Cargo a la varibale del sistema PATH. Esto se hará automáticamente la próxima vez que abras la terminal.

Pero si quieres configurar la terminal actual, ejecuta el siguiente comando:

$ source $HOME/.cargo/env

Homebrew

Puedes usar Homebrew para instalar rustup, ejecutando el siguiente comando:

$ brew install rustup

Y en seguida ejecutar rustup-init y seguir las instrucciones descritas arriba:

rustup-init

1.2 ¡Hola Mundo!

1.3 ¡Hola Cargo!