搭建v8的环境有以下两种方式:
1.官方的搭建方式可以参考:https://v8.dev/docs/build
2.使用github action将v8 source下载下来自己编译(也可以在远程编译好)
3.使用docker(docker是真的方便
官方的搭建方式
安装depot_tools
1 | #需要代理 |
ninja
1 | #安装ninja 之前需要安装相关的配置文件re2c + libtool autoconf |
编译v8
1 | cd .. |
使用tools/dev/v8gen.py x64.debug 报错时可试试安装如下依赖
1 | sudo apt install libpango1.0-dev |
使用github action
项目地址:https://github.com/StarCross-Tech/v8-action
这上面的方法不久前,还可以用,现在用会出一点小问题(upload失败,不过只要稍微改一下yml文件就可以了
相关配置说明:
1 | env: |
需要修改的部分
1 | - name: upload depot_tools |
将上面的cow 改为muse并且去掉–block 2621440(如果发生什么别的变化,对应修改就可以了),此外关于runner最好使用ubuntu18.04
本地编译v8
本地编译v8的yml参考文件如下
1 | #=================================================== |
远程编译
和本地编译的yml相比多了个get ninja以及v8编译部分
1 | #=================================================== |
这里我编译的是x64.debug版本,可以根据情况调整build v8(github大概需要两个小时),
当github action结束后,对应的文件有v8.zip.001,和v8.zip.002,以及depot_tools.zip
解压命令
1 | 7zr e v8.7z.001 |
测试结果
github action + v8 + LTS
1 | name: BUILD and Complie v8 |
使用docker集成的v8环境
项目地址:https://github.com/andreburgaud/docker-v8
调整gdb
可以将v8/tools下的gdb加载到本地gdb中,这样就可以使用job等v8官方的命令方便调试
1 | echo "/path/v8/tools/gdbinit" >> ~/.gdbinit |
参考链接:
1.https://mem2019.github.io/jekyll/update/2019/07/18/V8-Env-Config.html
2.https://mp.weixin.qq.com/s?__biz=Mzg5NjEyMjA5OQ==&mid=2247484916&idx=1&sn=1d07443c7e3817bd4186c616598f4889&chksm=c004a868f773217e8577b404c3032eef5e135311adeab1976c8189c1c0e7fdba3d68ae6d3f16&scene=21#wechat_redirect
3.https://kiprey.github.io/2020/11/fetch-chromium/#%E5%9B%9B%E3%80%81v8%E4%BB%A3%E7%A0%81%E4%B8%8B%E6%8B%89%E5%8F%8A%E7%BC%96%E8%AF%91
4.https://v8.dev/docs/build
5.https://github.com/andreburgaud/docker-v8