配置小飛機,下載傳送門
安裝
dpkg -i xxx apt-get -f install
設置成全局代理
設置終端代理,推薦使用polipo(使用別的全局代理方式可能導致拉取舊的代碼的時候代理出問題,喜歡探索的同學可以試下別的方式,信奉人生苦短少瞎折騰的同學跟着這個步驟一步一步來就行;這樣配置成功之后終端走的是ssr的全局代理,如果瀏覽器如chrome想走代理使用終端起chrome進程即可)
安裝
sudo apt-get install polipo
修改配置文件
sudo gedit /etc/polipo/config
改為
# This file only needs to list configuration variables that deviate # from the default values. See /usr/share/doc/polipo/examples/config.sample # and "polipo -v" for variables you can tweak and further information. logSyslog = false logFile = "/var/log/polipo/polipo.log" socksParentProxy = "127.0.0.1:1080" socksProxyType = socks5 chunkHighMark = 50331648 objectHighMark = 16384 serverMaxSlots = 64 serverSlots = 16 serverSlots1 = 32 proxyAddress = "0.0.0.0" proxyPort = 8123
重啟polipo生效
/etc/init.d/polipo restart
修改~/.bashrc添加
export http_proxy="localhost:8123" export https_proxy="localhost:8123" export ftp_proxy="localhost:8123"
創建~/.boto文件
[Boto] proxy=127.0.0.1 proxy_port=8123
導出環境變量
set NO_AUTH_BOTO_CONFIG=path_to_.boto/.boto
重啟bash即可(重啟bash后可以用curl google.com檢查下是否成功)
配置V8
安裝ninja並寫入bashrc
git clone https://github.com/ninja-build/ninja.git cd ninja && ./configure.py --bootstrap && cd .. echo 'export PATH=$PATH:"/path/to/ninja"' >> ~/.bashrc bash
安裝depot_tools
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
寫入.bashrc
echo 'export PATH=$PATH:"/path/to/depot_tools"' >> ~/.bashrc bash
完成后執行
mkdir v8
cd v8
fetch v8
下載完成后執行
gclient sync
編譯(release版)
tools/dev/v8gen.py x64.debug ninja -C out.gn/x64.debug
編譯(debug版)
tools/dev/v8gen.py x64.release ninja -C out.gn/x64.release
安裝turbolizer
turbolizer安裝時需要配置npm的代理,一個簡單易行的方法是修改添加~/.npmrc文件,並寫入以下內容
proxy=http://127.0.0.1:8123/ https-proxy=http://127.0.0.1:8123 registry=http://registry.npmjs.org/
配置好npm代理后切換到/v8/tools/turbolizer目錄下安裝
npm i
npm run-script build
使用,在turbolizer目錄下開啟本地端口
python -m SimpleHTTPServer 8000
打開google-chrome瀏覽器訪問本地8000端口即可
可能的問題:
0.如果在拉取舊的commit(git reset --hard xxx)的時候使用gclient sync報錯
Error: 4> 4> ____ v8/buildtools at xxx 4> You have unstaged changes. 4> Please commit, stash, or reset.
解決方法,使用
gclient sync -f
1.如果碰到編譯時tools/dev/v8gen.py x64.debug報錯
################################################################################ /usr/bin/python -u tools/mb/mb.py gen -f infra/mb/mb_config.pyl -m developer_default -b x64.debug out.gn/x64.debug Writing """\ is_debug = true target_cpu = "x64" v8_enable_backtrace = true v8_enable_slow_dchecks = true v8_optimized_debug = false """ to /home/r00t/v8/out.gn/x64.debug/args.gn. /home/r00t/v8/buildtools/linux64/gn gen out.gn/x64.debug --check -> returned 1 ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code. pkgresult = exec_script(pkg_config_script, args, "value") ^---------- Current dir: /home/r00t/v8/out.gn/x64.debug/ Command: python /home/r00t/v8/build/config/linux/pkg-config.py -s /home/r00t/v8/build/linux/debian_sid_amd64-sysroot -a x64 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0 Returned 1.
執行如下命令
sudo apt-get update && sudo apt-get install pkg-config
如果編譯時出現權限問題chmod 777即可
cd .. sudo chmod 777 -R v8
編譯的時候我的i7-9750,16G內存,1660ti的電腦風扇瘋狂地轉;b