安装通用开发工具
安装通用开发工具
适用读者:已完成 Arch Linux 安装(无论实体机还是 WSL),想搭建完整开发环境的读者。本文所有步骤在两种环境下均适用。
前言:我们要装什么?
一个典型的全栈开发环境需要:
| 工具 | 用途 |
|---|---|
| git | 版本控制,几乎所有项目必备 |
| yay | AUR 助手,扩展 Arch 软件源 |
| sdkman | Java/Maven 版本管理 |
| nvm | Node.js 版本管理 |
| uv | Python 虚拟环境和包管理(Rust 写的,极快) |
| go | Go 语言工具链 |
| docker | 容器化运行环境 |
| neovim + LazyVim | 高效终端编辑器 |
| kitty | GPU 加速终端模拟器(实体机) |
| zip / unzip | 压缩解压工具(sdkman 依赖) |
一、安装 git(通过 pacman)
为什么先用 pacman 安装 git?
后续安装 yay(AUR 助手)需要从 GitHub 克隆代码,而克隆就需要 git。pacman 是 Arch 内置的包管理器,git 在官方源里有,直接装:
1 | sudo pacman -S git |
验证安装:
1 | git --version |
配置你的身份(git commit 时会用到):
1 | git config --global user.name "你的名字" |
二、安装 yay(AUR 助手)
2.1 什么是 AUR?
AUR(Arch User Repository)是 Arch Linux 的社区软件仓库,里面有官方源没有的软件,比如各种专有软件、开发工具、字体等。官方源用 pacman 管理,AUR 需要 AUR 助手来自动化编译安装过程。
yay 是目前最流行的 AUR 助手,它完全兼容 pacman 的命令语法,你可以把它当 pacman 的超集来用——yay 既能装官方源的包,也能装 AUR 的包。
2.2 安装前置依赖
yay 本身需要 base-devel(编译工具集)才能从 AUR 编译软件:
1 | sudo pacman -S base-devel |
base-devel 包含 gcc、make、binutils 等编译必需的工具链。
2.3 克隆并编译 yay
1 | # 克隆 yay 的 AUR 构建脚本到临时目录 |
⚠️ AUR 的软件不能以 root 身份编译,请确保你是普通用户(提示符末尾是
$而不是#)。
安装完成后验证:
1 | yay --version |
三、使用 yay 批量安装开发工具
有了 yay,后续安装无论官方包还是 AUR 包,语法完全一致。
3.1 安装 zip 和 unzip(sdkman 的前置依赖)
sdkman 的安装脚本和下载逻辑依赖 zip 和 unzip,必须提前装好:
1 | yay -S zip unzip |
3.2 批量安装其余工具
1 | yay -S git yay sdkman nvm uv kitty go docker neovim |
说明:
git和yay已经装了,再执行不会报错,yay 会提示”已是最新版本”并跳过kitty是 GPU 加速终端,WSL 环境下用不上(WSL 没有独立的窗口系统),实体机用户安装sdkman和nvm在 AUR 里,yay 会自动处理编译
四、安装并配置 LazyVim
4.1 什么是 LazyVim?
LazyVim 是基于 Neovim 的一套完整配置框架,集成了 LSP(语言服务器协议,实现代码补全、跳转定义等)、文件树、模糊搜索、git 集成等常用插件,开箱即用,同时保持高度可扩展性。
LazyVim 是本次配置中唯一不由 yay 管理的组件,它通过官方推荐的方式直接以配置文件形式安装,由 Neovim 的插件管理器 lazy.nvim 在首次启动时自动下载。
4.2 备份旧配置(如有)
1 | # 备份已有的 Neovim 配置(如果有的话) |
4.3 克隆 LazyVim 起始配置
LazyVim 官方提供了一个 starter 仓库,直接克隆到 Neovim 配置目录:
1 | git clone https://github.com/LazyVim/starter ~/.config/nvim |
4.4 首次启动
1 | nvim |
第一次打开 Neovim,lazy.nvim 会自动下载并安装所有插件(需要访问 GitHub,国内可能较慢,耐心等待)。
安装完成后界面会变得非常漂亮,有文件树、状态栏、语法高亮等。
常用快捷键:
Space:打开命令菜单(LazyVim 的核心入口)Space + e:打开/关闭文件树Space + ff:模糊搜索文件:q或:wq:退出
五、配置 sdkman(Java/Maven 版本管理)
5.1 什么是 sdkman?
sdkman 是 JVM 生态的版本管理工具,可以方便地安装和切换不同版本的 JDK、Maven、Gradle 等工具。类似 Python 的 pyenv、Node.js 的 nvm。
5.2 激活 sdkman
通过 yay 安装的 sdkman 包会在 /opt/sdkman 下放置文件,但还需要在 shell 配置文件中激活它:
1 | # 激活 sdkman(这条命令也需要加入 .bashrc,见第九节) |
验证:
1 | sdk version |
5.3 基本命令
1 | # 列出可安装的 JDK 版本 |
5.4 安装 JDK 和 Maven
1 | # 安装 JDK 21(当前 LTS 版本) |
直接 sdk install java 不指定版本时,会安装 sdkman 推荐的默认版本。
验证:
1 | java -version |
六、配置 nvm(Node.js 版本管理)
6.1 什么是 nvm?
nvm(Node Version Manager)允许你在同一台机器上安装和切换多个 Node.js 版本。不同项目可能需要不同的 Node.js 版本,nvm 让切换变得简单。
6.2 激活 nvm
通过 yay 安装的 nvm 包同样需要在 shell 配置中激活(见第九节,这里先手动激活验证):
1 | source /usr/share/nvm/init-nvm.sh |
6.3 基本命令
1 | # 列出可用的 Node.js 版本 |
6.4 安装 Node.js
1 | # 安装当前 LTS 版本 |
验证:
1 | node --version |
七、配置 uv(Python 环境管理)
7.1 什么是 uv?
uv 是由 Astral 公司用 Rust 编写的 Python 包管理和项目管理工具,速度比 pip 快 10~100 倍。它整合了虚拟环境创建、包安装、Python 版本管理等功能。
为什么不用 pyenv?
Arch Linux 默认会预装系统 Python(python3),日常开发直接用 uv 创建虚拟环境即可,不需要用 pyenv 再管理一套 Python 版本。uv 自身也可以安装指定版本的 Python。
7.2 基本命令
1 | # 查看 uv 版本 |
八、配置 Go
8.1 设置 GOPATH 和 GOMODCACHE
Go 安装完后,默认的工作目录是 ~/go,通常不需要修改。但在国内,访问 Go 官方模块代理(proxy.golang.org)会很慢,需要配置国内代理:
1 | # 设置国内模块代理(七牛云) |
GOPROXY=https://goproxy.cn,direct 的含义:先从 goproxy.cn 下载,如果没有再直连(direct),兼容私有模块。
8.2 基本命令
1 | # 查看 Go 版本 |
8.3 将 Go 工具目录加入 PATH
Go 安装的工具(通过 go install)默认放在 ~/go/bin/,需要将这个目录加入 PATH 才能直接运行。这在第九节的 .bashrc 配置中一并完成。
九、.bashrc 配置详解
.bashrc 是 bash shell 每次启动时自动执行的配置文件,里面放置环境变量、PATH 配置、alias 等。
编辑:
1 | nano ~/.bashrc |
完整配置如下(含解析):
1 | # ===== 系统自带部分(通常已存在,不需要动) ===== |
关键点解析:
\[\033[36m\]:ANSI 转义序列,设置终端颜色。\[...\]包裹是告诉 bash 这部分不可见,用于正确计算光标位置。36m是青色。\u:当前用户名;\h:主机名;\W:当前目录名(仅最后一级)\[\033[0m\]:重置颜色,防止颜色”溢出”影响后续输出- sdkman 必须在文件末尾:sdkman 的注释里明确要求这一点,因为它需要最后修改 PATH 以确保优先级
修改完 .bashrc 后,让当前 shell 加载新配置:
1 | source ~/.bashrc |
十、Docker 配置
10.1 启动并设置 Docker 开机自启
Docker 安装后不会自动启动,需要手动开启:
1 | # 启动 Docker 服务 |
为什么要用 systemctl?
Arch Linux 使用 systemd 作为 init 系统,所有后台服务(守护进程)通过 systemctl 管理。enable 命令会在 /etc/systemd/system/ 下创建符号链接,让系统启动时自动拉起 Docker 守护进程。
10.2 将用户加入 docker 组
默认情况下,运行 docker 命令需要 sudo。将当前用户加入 docker 组可以避免每次都输密码:
1 | sudo usermod -aG docker $USER |
重新登录后生效(或执行 newgrp docker 立即在当前 shell 生效)。
10.3 基本命令
1 | # 验证 Docker 安装 |
10.4 WSL 中的 Docker 注意事项
WSL2 环境下,systemd 默认不启用。可以在 /etc/wsl.conf 中启用它:
1 | sudo nano /etc/wsl.conf |
写入:
1 | [boot] |
重启 WSL(在 PowerShell 执行 wsl --shutdown)后,systemctl 命令就能正常使用了。
或者,如果不想开启 systemd,也可以手动启动 Docker:
1 | sudo dockerd & |
小结
这一篇完成了完整开发环境的搭建:
- git → 版本控制基础
- yay → 打开 AUR 生态的大门
- sdkman → Java/Maven 多版本管理
- nvm → Node.js 多版本管理
- uv → 现代化 Python 环境管理
- Go → Go 工具链及国内代理配置
- LazyVim → 开箱即用的 Neovim 配置
- .bashrc → 将所有配置串联起来
- Docker → 容器化运行环境
下一篇:niri 和 Hyprland 配置,通过 DMS 让你的窗口管理器真正”能用”起来。