(Best) mechanism to share environment between command line and RubyMine
Hi (and happy new year!)
I use direnv and dotenv in different projects to manage my local dev environment, however rubymine doesn't (AFAICT) support either of these constructs (.envrc (a shell script) or .env (a list of environment variable assignments) in the project's root directory).
However rubymine doesn't seem to have a global environment support (that I can see), just per run-configuration or default-run-configuration environment variable options.
So is there some mechanism to set a per-project environment variable?
(it would make so much sense to have this in the project setup...)
NB: I'm not talking about global environment variables (see https://devnet.jetbrains.com/docs/DOC-1160), and I'm aware of a plugin that does something useful (reads .env files), but only works for pycharm (https://plugins.jetbrains.com/plugin/7861?pr=) and still needs to be set for every project.
any suggestions for how to do this so that command line and rubymine environment variable are configured in in one place?
Thanks
Tim
Please sign in to leave a comment.
I'm also a direnv user and a RubyMine user. Really frustrating to not have my direnv overrides picked up.
Hello, Tim,
sorry for the delay. Please vote for the corresponding feature request on our tracker:
https://youtrack.jetbrains.com/issue/RUBY-17391
At the moment, you can configure necessary environment variables per run configuration:
https://www.jetbrains.com/help/ruby/2016.1/run-debug-configuration-ruby.html
Old thread, but after not finding an answer, here's how I do it. The problem to workaround here is that direnv only uses exported variables and adding export breaks the EnvFile plugin. So we cheat.
Create .envfile in your project directory. Should look like this, with no exports.
VAR1=value1
VAR2=value2
Create .envrc in your project directory. Should look like this.
set -a; . ./.envfile
Setup https://direnv.net/ for your shell. This will use .envrc to find variables which will in turn use ALL variables from .envfile since we're artificially exporting them with the "set -a".
Use the https://plugins.jetbrains.com/plugin/7861-envfile plugin for RubyMine / PyCharm / whatever. Point it to the .envfile