开发环境隔离是解决「在我机器上能跑」问题的核心实践。不同项目依赖不同版本的语言运行时、系统库和工具链,如果共享同一个系统环境,版本冲突几乎不可避免。隔离的本质是为每个项目或任务提供独立的依赖空间,互不干扰。

主流隔离方案

方案隔离粒度适用场景代表工具
语言级虚拟环境单语言依赖Python/Node 项目venv, nvm, rbenv
包管理器环境跨语言依赖 + 系统库数据科学、C++混合项目Conda & Mamba
容器完整用户空间团队统一环境、CI/CDDocker, Podman
虚拟机完整操作系统内核级隔离需求VirtualBox, QEMU

选型建议

优先使用 Conda & Mamba:对于个人开发,特别是涉及 Python + C/C++ 混合依赖的场景(如机器学习、机器人开发),Conda 能同时管理 Python 包和系统级库,配置简单且跨平台一致。

需要团队环境一致性时用 容器:当项目需要精确复现环境(如 CI/CD 流水线、多人协作),Docker 容器是更可靠的选择。配合 VS Code Dev Containers,开发体验接近本地。

轻量项目用语言自带方案:纯 Python 项目用 venv 即可,纯 Node 项目用 nvm,无需引入额外工具。

相关笔记

此文件夹下有4条笔记。