Home > other >  How to manually set ENV variables when running rails console
How to manually set ENV variables when running rails console

Time:12-09

Is there a way to pass in env variables when running rails console? I have a rails app running on a server and when I try to ssh in and run rails console for debugging it says it is missing the master key to decrypt the credentials. But the master key is set in the env variables as RAILS_MASTER_KEY and is definitely correct and working because the app is working normally and able to access the credentials.

Is there a way to run something like:

RAILS_MASTER_KEY=<master_key> rails console

CodePudding user response:

From your console.

env RAILS_MASTER_KEY="..." rails c

See more here https://www.honeybadger.io/blog/ruby-guide-environment-variables/

CodePudding user response:

The answer by @eyeslandic is generic and applicable to any shells.

But if you are using Bourne shell (bash) or Z-shell, your form should work actually:

RAILS_MASTER_KEY=<master_key> bin/rails console

A word of caution is that some characters contained in your master key may be interpreted by your Shell as something special. So, it is generally wise to quote the word with a pair of single quotations like

RAILS_MASTER_KEY='YOUR_MASTER_KEY' bin/rails console

If your master key contains a single quotation(s) or exclamation mark(s), it is slightly tricky. Refer to the reference of your shell about how to escape them, as it depends. Note that the same problem remains in the answer by @eyeslandic.

  • Related