21 个版本 (5 个稳定版)

1.1.3 2024年2月13日
0.12.0 2024年2月2日
0.11.0 2023年8月24日
0.9.0 2023年7月31日
0.2.0 2022年11月12日

配置 中排名 53

Download history 1/week @ 2024-06-30 40/week @ 2024-07-07 58/week @ 2024-07-28

每月下载量 98

MIT 许可证

135KB
3K SLoC

env-select

license crates.io version

轻松切换任意环境变量的预定义值 功能包括(但不仅限于)

  • 交互式提示以在变量配置文件之间进行选择
  • 级联配置系统,允许在系统和仓库级别定义值
  • 通过 shell 命令动态获取值
  • 使用 es set 修改您的 shell 环境,或使用 es run 在修改后的环境中运行一次性的命令
  • 使用继承在配置文件之间重用常见变量

示例

# .env-select.toml
[applications.server.profiles.dev]
variables = {SERVICE1 = "dev", SERVICE2 = "also-dev"}

[applications.server.profiles.prd]
variables = {SERVICE1 = "prd", SERVICE2 = "also-prd"}

现在选择一个要导出的环境

> es set server
 === dev ===
SERVICE1=dev
SERVICE2=also-dev

  === prd ===
SERVICE1=prd
SERVICE2=also-prd
> echo $SERVICE1 $SERVICE2
dev also-dev

source 声明

env-select 作为 shell 的子进程运行(所有命令都是如此),这意味着它不能修改您的 shell 环境。为了解决这个问题,env-select 将仅输出 shell 命令,然后 shell 插件(或您)可以将这些命令管道到 source(或 eval)以修改您的会话。

如果您认为将内容管道到 source 是危险的并且很诡异,您是对的。但请考虑这样一个事实,到这一点为止,您已经下载并执行了机器上的一个神秘二进制文件。您应该已经完成了您的尽职调查。

错误/反馈

如果您发现错误或有功能请求,请在 GitHub 上提交问题

依赖项

~13–25MB
~365K SLoC