QMK 开发环境搭建:3 条命令跑通第一次固件编译(附全平台避坑速查)
【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware
刚接触机械键盘固件开发,第一步不是学 keymap 语法,而是把 QMK 开发环境搭对。这套流程只需三步:装好 QMK CLI、跑一次qmk setup、编译一个默认键位验证环境。Windows、macOS、Linux/WSL 的差异只在第一步,后两步完全一致。
我该用哪种安装方式?三平台推荐路径
别纠结包管理器、tap 和 pip 的组合,每个平台只有一条推荐路径,选错代价最高的是依赖版本冲突:
| 平台 | 推荐路径 | 说明 |
|---|---|---|
| Windows | QMK MSYS 安装包 | 打包了 MSYS2、QMK CLI 与全部工具链,自带终端快捷方式,开箱即用 |
| macOS / Linux / WSL | 官方安装脚本 | 一条命令装好 CLI、构建依赖、AVR/ARM 交叉工具链与烧录工具 |
| FreeBSD 及其他类 Unix | pkg install -g "py*-qmk" | 社区尽力维护,建议优先用前三类系统 |
Windows 上直接安装 QMK MSYS,装完从开始菜单启动它(提示符应为 MINGW64),CLI 已经就位,跳过下一条命令。
macOS 与 Linux/WSL 用户只需一条命令:
curl -fsSL https://install.qmk.fm | sh⚠️ 两点提醒:发行版自带的 qmk 包几乎必然过时,别走apt install qmk;WSL 用户把仓库放在 Linux 文件系统里(~/qmk_firmware),放在/mnt/c/...下编译会慢得令人怀疑人生。
系统要求一句话带过:Win10+ / macOS 10.15+ / 主流 Linux 发行版(Debian、Ubuntu、Fedora、Arch 系),4GB 内存 + 几 GB 磁盘足够。musl 基础的 Linux 发行版不受支持。
qmk setup 到底在干什么?
装完 CLI 别急着关终端,先搞懂qmk setup在做什么,再执行它:
qmk setup多数提示回答y即可。它不是简单的下载器,而是按顺序完成四件事:
两个实用参数:qmk setup -H <路径>指定仓库位置;qmk setup <用户>/qmk_firmware克隆你的个人 fork,适合打算向社区提 PR 的人。
如果直接用本地仓库副本代替克隆(本指南适用场景),命令如下:
git clone https://gitcode.com/GitHub_Trending/qm/qmk_firmware ~/qmk_firmware cd ~/qmk_firmware qmk setupsetup 检测到仓库已存在后会跳过克隆,直接进入工具链安装环节。
装完怎么确认环境是对的?编译一个默认键位
环境验证不用敲gcc --version之类的花活,编译出第一个.hex才算数:
qmk list-keyboards # 确认仓库里有哪些键盘 qmk compile -kb planck -km default # 编译 Planck 的默认键位-kb是相对keyboards/目录的路径(如clueboard/66/rev3),-km是键位名。输出末尾出现下面这种"体检合格"信息,即验证通过:
Linking: .build/planck_default.elf [OK] Creating load file for flashing: .build/planck_default.hex [OK] Checking file size of planck_default.hex [OK] * The firmware size is fine - 27312/28672 (95%, 1360 bytes free)✅ 看到这行,QMK 固件编译环境就通了:工具链、仓库、CLI 三件套齐活。
编译报错了先看这里:Top 3 速答
bash: qmk: command not found——~/.local/bin不在 PATH 里。执行echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc,这是 WSL 上踩的人最多的坑。- 编译中途报错 / 依赖缺失—— 回到仓库根目录跑
qmk setup -y重装依赖;仍不行就qmk clean -kb <keyboard> -km <keymap>清掉构建缓存重新编译。 - WSL 下键盘插上没反应—— 物理键盘接在 Windows 上,Linux 侧默认看不到,需要 USB 直通;配置方法见 QMK 官方文档。
下一步
环境通了,就可以用qmk new-keymap基于默认键位生成自己的 keymap,打开生成的keymap.c改一个键试编译——小步改动最容易定位问题。刷写固件、键位语法等进阶内容,从 docs/newbs_flashing.md 和 docs/cli_commands.md 继续看即可。
【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考