在 macOS 上,可以使用 direnv
库为每个项目创建独立的环境变量,从而确保项目之间的环境变量互不干扰。
首先,需要安装 direnv
。使用 Homebrew 安装 direnv
:
brew install direnv
接下来,将 direnv
集成到您的 shell 中。根据您使用的 shell,将以下内容添加到配置文件(如 ~/.bashrc
、~/.zshrc
或 ~/.config/fish/config.fish
)中:
-
对于 Bash:
eval "$(direnv hook bash)"
-
对于 Zsh:
eval "$(direnv hook zsh)"
-
对于 Fish:
eval (direnv hook fish)
保存更改并重新启动 shell,以应用更新。
现在,进入项目目录并创建一个名为 .envrc
的文件。在这个文件中,可以为当前项目设置特定的环境变量。例如,为项目设置 DOCKER_REGISTRY_PASSWORD
环境变量:
export DOCKER_REGISTRY_PASSWORD=your_password
请确保将 your_password
替换为您实际的密码。
在项目目录中运行 direnv allow
命令,以允许 direnv
加载 .envrc
文件。这样,在您进入项目目录时,direnv
会自动设置这些环境变量。当您离开项目目录时,direnv
会自动取消设置这些环境变量,从而确保不同项目之间的环境变量互不干扰。
每当您需要在 .envrc
文件中添加或修改环境变量时,都需要重新运行 direnv allow
命令。
现在,您可以在项目中运行之前创建的脚本,它将使用 .envrc
文件中设置的 DOCKER_REGISTRY_PASSWORD
环境变量。