一个终端界面(TUI)工具,用于查看和控制 Docker 容器,可查看实时状态与日志。
- Star
- 7,773
- Fork
- 583
- 未关闭 Issue
- 376
- 最近提交
- 2小时前
这是什么?
devenv 是基于 Nix 构建的开发环境工具。你可以在 devenv.nix 文件中声明项目的 shell,包括语言工具链、软件包、PostgreSQL、Redis 等后台服务以及脚本,devenv 会构建一个隔离的环境,在不同机器上行为保持一致。
除了 shell 本身,它还提供原生进程管理器(支持依赖排序和就绪探针)、基于 DAG 执行并带缓存的任务运行器,以及会在测试前后自动启停进程的 test 命令。环境可以打包为不依赖 Docker 的 OCI 容器,配置也可以通过 imports、profiles 和外部来源在项目之间共享。
项目还包含终端界面、devenv.nix 的 LSP、direnv 集成、基于 git-hooks.nix 的 Git 钩子,以及面向 AI 助手的 MCP 服务。支持 Linux、macOS、x64 和 ARM64,包括 WSL2。
核心功能
- 01在 devenv.nix 中声明式配置环境,支持 50 多种语言和 40 多种服务。
- 02原生进程管理器,支持依赖排序、重启策略和就绪探针。
- 03基于 DAG 的任务运行器,支持缓存和并行执行。
- 04无需 Docker 即可从环境构建 OCI 容器。
- 05集成 direnv、Git 钩子,并提供 devenv.nix 的 LSP。
- 06通过 profiles 和 imports 在项目间复用环境配置。
适用场景
- 让团队每位成员使用相同的工具链和数据库版本。
- 在本地一起启动项目所需的 Postgres、Redis 和应用进程。
- 将开发环境打包为容器,用于 CI 或部署。
- 在多个仓库之间共享统一的环境配置。
快速上手
- 1
按照 devenv.sh 上的入门指南安装 devenv
- 2
使用 init 生成初始 devenv.nix
devenv init - 3
使用 shell 激活开发环境
devenv shell
使用前须知
- 需要先安装 Nix,因为 devenv 基于 Nix 构建。
- 环境依赖 Nixpkgs 和 Nix 求值,新用户需要一定学习成本。
标签
常见问题
- devenv 是什么?
- 基于 Nix 的声明式、可复现开发环境,通过 devenv.nix 配置语言、服务和进程。 devenv 是基于 Nix 构建的开发环境工具。你可以在 devenv.nix 文件中声明项目的 shell,包括语言工具链、软件包、PostgreSQL、Redis 等后台服务以及脚本,devenv 会构建一个隔离的环境,在不同机器上行为保持一致。
- devenv 可以免费使用吗?用的什么许可证?
- devenv 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- devenv 还在维护吗?
- 活跃维护中。devenv 最近一次提交是在 2026年10月22日。
- devenv 适合用来做什么?
- 让团队每位成员使用相同的工具链和数据库版本。 在本地一起启动项目所需的 Postgres、Redis 和应用进程。 将开发环境打包为容器,用于 CI 或部署。 在多个仓库之间共享统一的环境配置。
- devenv 怎么安装和运行?
- 按照 devenv.sh 上的入门指南安装 devenv 使用 init 生成初始 devenv.nix: devenv init 使用 shell 激活开发环境: devenv shell
- 在哪里获取 devenv?
- 源代码和安装说明在 GitHub 上:https://github.com/cachix/devenv
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
201153RustMIT更新于 2个月前
基于 Kubernetes 的云端开发环境,将 Web IDE、依赖和项目代码放入容器中运行。
71711213TypeScriptEPL-2.0更新于 2小时前
用于在本地图形化构建、运行和管理容器与 Kubernetes 的桌面应用,基于 Podman 等容器引擎。
8101583TypeScriptApache-2.0更新于 17分钟前
一个用 Go 编写的跨平台任务运行工具,受 Make 启发,通过 YAML 格式的 Taskfile 进行配置。
1.6万931GoMIT更新于 1小时前
一个用 Rust 编写的命令行工具,通过一个 mise.toml 文件管理项目工具、环境变量和任务。
3.5万1494RustMIT更新于 2小时前
一款命令行工具,监听 Go 源码变化并自动重新编译、重启应用,用于本地开发。
2.4万928GoGPL-3.0更新于 2个月前