Linux 下现代化开发环境构建指南
Linux 下用 uv 和 fnm 搭建高效的开发环境
为什么换?
- 装依赖快 10 倍以上(不夸张,实测如此)
- uv 一个工具干了 pip + poetry + pyenv 的活
- fnm 不像 nvm 那样拖慢 shell 启动
1. Python 环境:uv
uv 是 Astral 公司开发的(就是做 Ruff 的那家)。它是一个独立的二进制文件,不需要先装 Python 就能运行。
1.1 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
1.2 管理 Python 版本
uv 不需要编译 Python,直接下载预编译的二进制版本。
uv python install # 安装最新版
uv python install 3.13 # 安装指定版本
uv python list # 查看已安装的版本
1.3 项目管理(新项目推荐)
使用 pyproject.toml 管理依赖,类似 npm 的 package.json。
mkdir my-project && cd my-project
uv init
uv add requests # 添加依赖
uv add --dev pytest # 添加开发依赖
uv run python main.py # 运行代码,无需手动 activate
uv run pytest
uv sync # 拉取代码后一键同步环境
1.4 兼容旧项目
有 requirements.txt 的老项目也能使用。
uv venv
source .venv/bin/activate
uv pip install requests
uv pip install -r requirements.txt
uv pip freeze > requirements.txt
2. Node.js 环境:fnm + pnpm
2.1 fnm 管理 Node 版本
fnm 是 nvm 的替代品。最大优点:不会拖慢 shell 启动速度。
安装 fnm:
curl -fsSL https://fnm.vercel.app/install | bash
配置 Shell:
在 ~/.bashrc 或 ~/.zshrc 中添加:
eval "$(fnm env --use-on-cd)"
然后执行:
source ~/.bashrc
常用命令:
fnm install --lts # 安装 LTS 版本
fnm install 24 # 安装指定版本
fnm use 24 # 切换版本
fnm default lts-latest # 设置默认版本
2.2 pnpm 包管理器
pnpm 使用硬链接节省磁盘空间,安装包也很快。Node.js 自带 corepack,无需先安装 npm。
corepack enable
corepack prepare pnpm@latest --activate
pnpm -v
快速对比表
| 语言 | 老方案 | 新方案 |
|---|---|---|
| Python | pyenv + pip + venv | uv |
| Node.js | nvm + npm | fnm + pnpm |
常用命令速查
Python (uv):
-
uv init / uv add / uv run- 新项目开发 -
uv pip install- 旧项目兼容模式Node.js (fnm):
-
fnm install --lts / fnm use- 版本管理 -
corepack enable- 启用包管理器