#direnvについて
railsプロジェクト毎で個別に環境変数を設定して利用したい時にdirenv
使うと便利なんじゃないですか?
#direnvを導入する
こちらとかこちらの記事を参考に、今回はhomebrew
からインストール
brew install direnv
エディタはvim
、シェルはzsh
を使用しているので、.zshrc
に下記を追記
# direnv(.envrc)用設定
export EDITOR=vim
eval "$(direnv hook zsh)"
反映させる
source ~/.zshrc
これでdirenvが使用可能になりました。
もし、以降のコマンドが機能しない場合、「.zshrc」を確実に反映させるため、ターミナルを再起動してください(もしくは新規タブを開いて作業します)。
#direnvに環境変数を設定
プロジェクト内で利用したい環境変数を設定する。
####プロジェクトディレクトリ内で下記コマンドを実行して、設定ファイル.envrc
を作成
direnv edit .
(適宜書換えてください ↓)
export EEJANAICA_APP_ID="参照値"
export EEJANAICA_APP_SECRET="参照値"
####エラーの場合
direnv: error .envrc is blocked. Run 'direnv allow' to approve its content.
というエラーが発生する場合は下記コマンドで設定を有効化する(有効化するまで設定が無効のままなので注意)。
direnv allow
##git管理しているプロジェクトの場合
.gitignoreに**.envrcを追加**する(バージョン管理から外す)
echo '/.envrc' >> .gitignore
#利用するとき
任意のファイル内で
ENV['EEJANAICA_APP_ID']
ENV['EEJANAICA_APP_SECRET']