其实,按照chromium 官方文档
来看,大概率是不会出错的,但由于各自的系统差异化,当中遇到的坑
也是各不相同
。
尤其是在国内的网络
情况下,出错是再所难免
的,关于这一点,chromium官方文档
是没有提及到的,它不会也不能会在文档
中,把网络
问题这一块写入编译 chromium
的文档中的。
我们暂且抛开网络
这一客观因素
,单是要编译 chromium
某个版本,在gclient sync
(同步第三方依赖)和autonija
(编译)还是会出现你些五花八门
的问题。
而这些看似奇葩
的ERROR
或Failed
,很大一部分是由网络
而导致的。
在前面的文章里,我讲过了,chromium
是通过depot_tool
工具来gclient sync
和autoninja
的,若你按照chromium官方文档
来fetch
最新版的chromium
,编译是不会出现什么问题的。
可若你也像我这般,并不需要去fetch
最新版的chromium
,而是想要构建某一个版本的chromium
版本而已,可是depot_tools
在gclient
初始化时,是会更新为最新版本的,从而使得chromium
某一个版本所使用的python
脚本的版本,与depot_tools
更新后的python
新版本产生冲突。
虽然可以通过设置DEPOT_TOOLS_UPDATE
环境变量来阻止depot_tools
工具的更新,但却引发新问题。
depot_tools
初始化(gclient
)的问题
无论你是通过下载.zip
格式的压缩包也好,还是在git bash
命令行中执行git clone
来获取depot_tools
也罢,总是无法避免
地需要给depot_tools
工具进行初始化
,也就是在cmd.exe
窗口中执行gclient
命令,该命令说白了,就是下载python
和git
以及更新当前的depot_tools
版本。
出现这种错误,那是忘记了在当前cdm.exe
窗口设置好网络
,毕竟gclient
命令就要需要去下载资源和更新depot_tools
工具的,至于该如何设置网络
,你可查看我的前几篇文章,这里将不再赘述。
导致这个错误的,往往都是我们自己的疏忽,在我们每打开一个新的cmd.exe
窗口,是不会提交输入设置网络
的相关命令的,而是一上来,就敲上gclient
,从而引发了该问题。
无法下载chromium
代码的问题
我们要想构建chromium
,那么获取chromium
源码是首要触及的问题,倘若你无法fetch chromium
源码,谈何来build chromium
呢?
虽说github.com
`gitlab.com以及国内的
gitee.com(它已下架了
pages静态资源的托管,请你不要试图在
gitee.com托管
个人博客了!)提供了
chromium镜像,但最终还是要回到
源地址进行
gclient sync`(同步第三方依赖)。
阅读全文请到 你我杂志刊