Unable to read variable in .env file

Error:
thread 'main' panicked at 'Database url not set: NotPresent', src\db.rs:17:47
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
error: process didn't exit successfully: target\debug\create_api2.exe (exit code: 101)
Error Image:

Code
let db_url = env::var("DATABASE_URL").expect("Database url not set");
let manager = ConnectionManager::::new(db_url);
Pool::new(manager).expect("Failed to create db pool")

How do you read this file?

using env::var

image

Instead of images, please post code and errors as text.

Try dotenv::var instead of env::var

Error
Running target\debug\create_api2.exe
thread 'main' panicked at 'Database url not set: NotPresent', src\db.rs:17:47
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
error: process didn't exit successfully: target\debug\create_api2.exe (exit code: 101)

CODE:

lazy_static! {
static ref POOL: Pool = {
dotenv().ok();
let db_url = env::var("DATABASE_URL").expect("Database url not set");
let manager = ConnectionManager::::new(db_url);
Pool::new(manager).expect("Failed to create db pool")
};
}

Still getting error
Running target\debug\create_api2.exe
thread 'main' panicked at 'Database url not set: Error(EnvVar(NotPresent), State { next_error: None, backtrace: None })', src\db.rs:17:50
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
error: process didn't exit successfully: target\debug\create_api2.exe (exit code: 101)

env::var doesn't read any files, it reads only existing environment. How do you put the contents of .env into environment?

1 Like

using dotenv().ok();

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.