jetify-com/devbox

GitHub: jetify-com/devbox

Devbox 是一个基于 Nix 的命令行工具,通过声明式配置为项目创建隔离、可移植且可复现的开发环境。

Stars: 12076 | Forks: 340

Devbox logo. # Devbox ### 即时、简单且可预测的开发环境 ## 它是什么? [Devbox](https://www.jetify.com/devbox/) 是一个命令行工具,可以让你 轻松地为开发创建隔离的 shell。你首先需要定义你的 开发环境所需的软件包列表,然后 devbox 会使用该 定义为你的应用程序专门创建一个隔离的环境。 在实践中,Devbox 的工作方式类似于 `yarn` 之类的包管理器——不过它 管理的包处于操作系统级别(通常是你 使用 `brew` 或 `apt-get` 安装的那类东西)。通过 Devbox,你可以从 Nix 包 注册表中安装超过 [400,000 个软件包版本](https://www.nixhub.io)。 Devbox 最初由 [Jetify](https://www.jetify.com) 开发,其 内部由 `nix` 驱动。 ## 演示 下面的示例创建了一个包含 `python 3.10` 和 `go 1.18` 的开发环境,即使底层 机器上并未安装这些软件包。你可以使用 `devbox run` 在环境中运行命令,或者使用 `devbox shell` 在其中启动一个交互式 shell: ![屏幕演示](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8c1f871fc3002735.svg) ## 安装 Devbox 使用以下安装脚本来获取最新版本的 Devbox: ``` curl -fsSL https://get.jetify.com/devbox | bash ``` 在 [Devbox 文档](https://www.jetify.com/docs/devbox/installing-devbox/)中了解更多。 ## 优势 ### 为团队中的每个人提供一致的 shell 通过 `devbox.json` 文件声明你的项目所需的工具列表,并 运行 `devbox shell`。每个参与该项目的开发者都会获得一个 包含完全相同版本工具的 shell 环境。 ### 尝试新工具而不污染你的笔记本电脑 Devbox 创建的开发环境与你的笔记本电脑上的其他所有内容 都是隔离的。有没有你想尝试但又不想弄得一团糟的工具?把它添加到 Devbox shell 中,当你不再需要它时将其移除——同时保持你的 笔记本电脑一尘不染。 ### 不要牺牲速度 Devbox 可以直接在你的笔记本电脑上创建隔离的环境,而无需 额外的虚拟化层拖慢你的文件系统或每一条命令。当 你准备发布时,它会将其转换为等效的容器——但绝不会 提前这样做。 ### 告别版本冲突 你是否在同时处理多个项目,并且所有项目都需要 同一个二进制文件的不同版本?与其尝试在你的 笔记本电脑上安装同一个二进制文件的冲突版本,不如为每个项目创建一个隔离的环境,并 在每个环境中使用你想要的任意版本。 ### 随身携带你的环境 Devbox 的开发环境是_可移植的_。我们让你能够 精确地只声明一次你的 环境,并以多种不同的方式 使用该单一定义,包括: - 通过 `devbox shell` 创建的本地 shell - 可与 VSCode 一起使用的 devcontainer - 一个 Dockerfile,让你能够使用与开发完全相同的工具来 构建生产镜像。 - 一个镜像你本地环境的云端远程 开发环境。 ## 快速入门:快速、确定性的 Shell 在这个快速入门中,我们将创建一个安装了特定工具的 开发 shell。这些工具仅在使用此 Devbox shell 时 可用,从而确保我们不会污染你的机器。 1. 在一个新的空文件夹中打开终端。 2. 初始化 Devbox: devbox init 这会在当前目录下创建一个 `devbox.json` 文件。你应该将其提交到 版本控制系统中。 3. 从 Nix 添加命令行工具。例如,要添加 Python 3.10: devbox add python@3.10 在 [Nixhub.io](https://www.nixhub.io) 上搜索更多包 4. 你的 `devbox.json` 文件会记录你已添加的软件包,现在 它看起来应该是这样的: { "packages": [ "python@3.10" ] } 5. 启动一个已安装这些工具的新 shell: devbox shell 你可以通过 shell 提示符的变化来判断自己正处于 Devbox shell 中(而不是 你的常规终端中)。 6. 使用你最喜欢的工具。 在这个例子中我们安装了 Python 3.10,所以让我们来使用它。 python --version 7. 你的常规工具也可用,包括环境变量和 配置设置。 git config --get user.name 8. 要退出 Devbox shell 并返回到你的常规 shell: exit 在 [Devbox 文档快速入门](https://www.jetify.com/docs/devbox/quickstart/)中了解更多。 ## 其他命令 `devbox help` - 查看所有命令 有关 完整的命令列表,请参见 [CLI 参考](https://www.jetify.com/docs/devbox/cli-reference/devbox)。 ## 相关工作 感谢 [Nix](https://nixos.org/) 提供隔离的 shell。 ## 许可证 本项目自豪地以 [Apache 2.0 License](https://github.com/jetify-com/devbox/blob/main/LICENSE) 开源。
标签:EVTX分析, Nix, SOC Prime, 容器化/隔离, 开发工具, 日志审计, 环境管理, 请求拦截