您现在的位置是:烟消火灭网 > 焦点

github怎么自行源码构建

烟消火灭网2026-10-17 07:43:28【焦点】5人已围观

简介想自己从源码构建 GitHub,第一步不是 clone 代码,而是先搞清楚你到底要构建哪个东西。GitHub 这个平台本身是闭源的,你拿不到 github.com 的完整源码。能构建的是 GitHub

想自己从源码构建 GitHub,自行第一步不是源码 clone 代码,而是构建先搞清楚你到底要构建哪个东西。GitHub 这个平台本身是自行闭源的,你拿不到 github.com 的源码完整源码。能构建的构建是 GitHub 开源出来的那些组件,比如 GitHub Enterprise Server 的自行部分工具链、GitHub CLI、源码GitHub Desktop,构建还有各种 Actions runner。自行很多人第一次搜“github 源码构建”会懵,源码因为官方仓库里根本没有一个叫 github 的构建完整项目。

拿 GitHub CLI 举例。自行这玩意儿用 Go 写的源码,构建起来最省心。构建你机器上得有 Go 1.21 以上,然后:

git clone https://github.com/cli/cli.git cd cli make 

对,就三步。make 会自动跑测试、编译二进制,扔到 bin/gh。我第一次跑的时候卡在依赖下载上,因为 Go 模块代理默认走 proxy.golang.org,国内网络经常抽风。加个环境变量就行:

export GOPROXY=https://goproxy.cn,direct 

再 make,顺利通过。编译出来的 gh 大概 30MB 左右,直接替换系统里装的官方版本也没问题。

GitHub Desktop 麻烦一些。它是 Electron 应用,Node.js 和 Python 都得有。Python 是用来跑构建脚本的,Node 版本要求比较死,看 package.json 里的 engines 字段。我上次构建时 Node 18 能过,Node 20 反而报错,因为某些 native 模块还没跟上。步骤大概是:

git clone https://github.com/desktop/desktop.git cd desktop npm install npm run build:dev 

但 npm install 那步容易挂。Electron 的二进制包从 GitHub Releases 下载,国内速度你懂的。解决办法是设镜像:

export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ 

然后重新 install。构建完用 npm start 能跑起来,但界面里登录 GitHub 账号那步会跳转 OAuth,本地开发环境得自己配 client ID,不然登不进去。这个坑官方文档没怎么提,我是在 issues 里翻到的。

Actions runner 又是另一回事。它主要是 C# 写的,需要 .NET SDK。构建命令:

git clone https://github.com/actions/runner.git cd runner/src ./dev.sh build 

Windows 上用 dev.cmd。编译出来的 runner 可以注册到自己的仓库当 self-hosted runner。我试过在树莓派上构建,ARM64 的 .NET SDK 装了半天,最后跑起来内存占用 200MB 左右,比官方预编译版稍微大一点,但能用。

几个通用建议。第一,看仓库根目录的 CONTRIBUTING.md 和 docs/,比 README 详细得多。第二,构建失败先看错误日志里有没有网络超时,八成是依赖下载问题。第三,别在 Windows 上构建 Unix 工具链的东西,WSL2 能省很多事。第四,如果只是用,直接下 release 二进制,别折腾源码。构建源码适合你想改代码、调试、或者给项目提 PR 的场景。

我自己的习惯是,clone 下来先跑一遍官方构建命令,记录所有报错,再逐个解决。这样下次换机器构建时,直接照着自己的笔记走,十分钟搞定。源码构建这事,第一次最痛苦,后面就是复制粘贴。

很赞哦!(83884)