Desarrollo Rust en WSL2: toolchain, testing y empaquetado


Rust es un lenguaje moderno y seguro por diseño, ideal para crear aplicaciones de alto rendimiento y sistemas embebidos. Combinado con WSL2, permite a los desarrolladores trabajar en un entorno Linux desde Windows, aprovechando herramientas como cargo, rustup, pruebas automatizadas y sistemas de empaquetado como cargo-deb.

Instalar Rust en WSL2

Desde la terminal WSL2:

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

Verificar la instalación:

rustc --version
cargo --version

Crear un proyecto Rust básico

cargo new mi_app
cd mi_app
cargo run

Esto crea una estructura de proyecto estándar con Cargo.toml y un archivo main.rs en src/.

Usar componentes adicionales del toolchain

Instalar herramientas comunes:

rustup component add clippy rustfmt

Verificar y formatear el código:

cargo clippy
cargo fmt

Escribir y ejecutar tests automatizados

Agregar una función de prueba en src/lib.rs:

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn suma_funciona() {
        assert_eq!(2 + 2, 4);
    }
}

Ejecutar tests:

cargo test

Se obtiene un resumen detallado del resultado, cobertura y errores si existen.

Empaquetado del proyecto con cargo-deb

Instalar herramienta para generar paquetes .deb:

cargo install cargo-deb

Empaquetar la aplicación:

cargo deb

Esto genera un archivo .deb listo para distribuir e instalar en sistemas basados en Debian.

Buenas prácticas

  • Usar cargo watch para recompilar automáticamente al guardar cambios
  • Separar lógica en módulos reutilizables dentro de src/
  • Mantener documentación con cargo doc --open
  • Publicar paquetes en crates.io solo si están documentados y testeados

Conclusión

Desarrollar con Rust en WSL2 brinda una experiencia fluida y potente, integrando el ecosistema Linux sin salir de Windows. Herramientas como cargo, rustfmt, clippy y cargo-deb permiten construir, probar y empaquetar software profesionalmente desde un entorno moderno y reproducible.


Ver también

comments powered by Disqus