direnv allows project-specific environment variables without cluttering the ~/.profile file.

設定 direnv

安裝 direnv

# macOS
brew install direnv
# Windows
winget install direnv
# Ubuntu
apt install direnv

Hook 到 shell

~/.bashrc
eval "$(direnv hook bash)"
~/.config/fish/config.fish
direnv hook fish | source

然後重新啟動 shell

使用 direnv

在專案下建立 .envrc

.envrc
export ABC=123

信任 direnv 執行

考慮到安全性,避免被自動執行,必須手動信任

direnv allow .
# 其他指令
direnv edit .
direnv deny .

配合 .env 使用

~/.config/direnv/direnvrc
[global]
load_dotenv = true

參考資料
延伸閱讀