

direnv 是一個 shell 擴展,可根據當前目錄自動載入和卸載環境變數。它通過讀取專案目錄中的 .envrc 文件(以及可選的 .env)來簡化環境管理。此文件包含設置環境變數的 shell 命令。direnv 與各種 shell 集成,如 bash、zsh、tcsh 和 fish。它設計快速且不引人注目,非常適合管理特定於專案的配置,而不會弄亂您的 shell 配置文件。它支援所有常見 shell 的 hook,並且與語言無關,適用於構建類似於 rbenv、pyenv 和 phpenv 的解決方案。direnv 是一個單一的靜態可執行文件,確保最小的性能影響。
根據目錄更改載入和卸載環境變數。
支援 bash、zsh、tcsh、fish 和其他 shell。
允許每個專案的環境設置。
需要明確授權 `.envrc` 文件。
編譯成單一靜態可執行文件以提高速度。
可用於任何程式設計語言或專案。
在您的系統上安裝 direnv(有包管理器可用)。將 direnv hook 到您的 shell 中(說明因 shell 而異)。導航到您的專案目錄。在您的專案根目錄中創建一個 .envrc 文件。將環境變數導出命令添加到 .envrc(例如,export MY_VARIABLE=value)。在專案目錄中運行 direnv allow 以授權 .envrc 文件。
輕鬆管理 12-factor 應用程式所需的環境變數。
創建特定於專案的環境以避免衝突。
安全地載入敏感資訊(API 密鑰、密碼)。
為不同的部署階段配置環境變數。
需要管理專案環境變數的軟體開發人員。
需要管理和自動化環境配置的工程師。
direnv 是開源且免費使用的。