Search code examples
herokuheroku-postgresheroku-cli

Heroku local doesn't read my .env file


I tried the heroku node sample at: https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction

And used Postgres as the db.

All worked.

Now I wanted to run it local, so I used the sample from: https://devcenter.heroku.com/articles/heroku-local

To get the DATABASE_URL to my .env file - but I couldn't get it to work even though when I ran Heroku local it displayed:

[OKAY] Loaded ENV .env File as KEY=VALUE Format

The database still did not connect and when I added:

 console.log(process.env.DATABASE_URL);

It wrote undefined to the console.


Solution

  • It turned out the for some reason my .env file was not in the correct unicode encoding.

    I suspect that the command:

    heroku config:get DATABASE_URL -s  >.env
    

    Creates an invalid .env file on my windows machine. It creates a file using UTF-16 LE encoding.

    Once I changed it to UTF-8 it all worked.

    You can do that in VSCODE by clicking on the encoding in the status bar. enter image description here