Linux 下现代化开发环境构建指南

Published by rcdfrd on 2025-12-15

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 - 启用包管理器