按照google v8的官方提供的方法,在國內,完成編譯簡直太難了。
還好nodejs提供離線編譯能力,稍微改造一下可以從node源碼中直接編譯純凈的v8動態庫。
直接把v8解壓出來的py/gpy文件替換到node源碼目錄下。
執行下列命令:
python tools/gyp_node.py --no-parallel -f make-linux -I"`pwd`/common.gypi" -I"`pwd`/config.gypi" --depth=. --generator-output="`pwd`/out" -Goutput_dir="`pwd`/out" -Dcomponent=static_library -Dlibrary=static_library -Dlinux_use_bundled_binutils=0 -Dlinux_use_bundled_gold=0 -Dlinux_use_gold_flags=0
make V=1 -C out -j 8
ln -s "`pwd`/out/Release/obj.target/libv8.so" libv8.so
在node-v11.1.0版本上測試通過。