¿Cómo cargar variables de entorno en Rust (.env)? 🦀

20 de Septiembre del 2022 ¿Ves algún error? Corregir artículo rust-wallpaper

Uno de mis lenguajes de programación de fin de semana es rust y algo que cuando comencé necesité fue usar variables de entorno, así que les dejo un pequeño tutorial de cómo usar estas variables.

1. Creando nuestro proyecto

Para ello nos ayudaremos de cargo

~
cargo new rust-env

Esto nos creará una estructura de archivos generada que lucirá de la siguiente forma.

src

main.rs

target

.gitignore

Cargo.lock

Cargo.toml

2. Agregando dependencias

Dentro del archivo Cargo.toml agregaremos la siguiente línea de código a las dependencias.

~
[dependencies] dotenv="*"

3. Cargando nuestro archivo .env

Para ello primero crearemos nuestro archivo .env en la raíz del proyecto.

~
touch .env

Y agregaremos las siguientes variables de entorno.

~
DB_USER="root" DB_PASSWORD="root123"

Y ahora dentro de nuestro archivo src/main.rs cargaremos nuestras variables.

src/main.rs
dotenv::from_path("./.env").expect("error loading env");

4. Usando las variables de entorno

Ahora usando la librería estándar de rust para las variables de entorno recuperaremos nuestras variables de entorno de la siguiente manera.

src/main.rs
let db_users = env::var("DB_USER").expect("env error"); let db_password = env::var("DB_PASSWORD").expect("env error");

Y las imprimiremos para comprobar que logramos nuestro objetivo.

src/main.rs
println!("------------------------"); println!("DB_USER: {}", db_users); println!("DB_PASSWORD: {}", db_password); println!("------------------------");

5. Ejecutamos nuestro ejemplo

Usamos cargo para ejecutar nuestro ejemplo

~
cargo run --package rust-env --bin rust-env
 $ DB_USER:  root $ DB_PASSWORD:  root123

Espero que esté tutorial les sirva y que empiecen a usar más este divertido lenguaje, próximamente estaré subiendo más tutoriales relacionados a rust.

Aquí podrán encontrar el repositorio rust-env

Hasta la próxima 👋

Conviértete en un Go Ninja 🥷.Suscríbete a mi newsletter y recibe las últimas novedades en Go.