direnv and env file in RubyMine

2022-05-13

direnv

direnv 是一个很好用的命令行工具, 它帮我们从当前目录的 .envrc 中读取环境变量并加载, 切换目录后会自动卸载环境变量.

.envrc 的特点是需要在环境变量的 K:V 之前写 export .

.envrc

export KEY=Value

.env

.env 也是常用的环境变量配置方式, 直接是 K:V 的格式.

.env

KEY=Value

direnv 兼容 .env

让 direnv 兼容 .env 有很多方法, 我的做法是:

  • 按照 K:V 的写法原样写 .env 文件
  • 新建 .envrc, 在其中仅放置 dotenv 声明 ( dotenv reference )
  • direnv allow
  • .env .envrc 加入 gitignore

.envrc

dotenv

RubyMine

以上的方法在 terminal 中很好用, 但是很难将环境变量重用到 RubyMine 中 ( debugger 时需要手动设置 Environment ) .

解决方法, 借助插件: 7861-envfile

EnvFile

备用插件 15285-direnv-integration 在某些版本上不可用