提前准备
系统window10
安装vs2019(必须)
安装python2.7或者2.8 python3会有问题
下载node源码(version:16.0)
git clone --depth=1 https://github.com/nodejs/node.git
cd node
编译
必须管理员身份打开cmd,进到node项目目录下执行 vcbuild release进行编译,需要等个十几分钟。
vcbuild release
image.png
如果出现报错是 Could not find NASM, install it or build with openssl-no-asm. See BUILDING.md,查了下BUILDING.md,总结了下,这里有三种方式 如果指令集是AVX-512需要安装gas(2.26以上) 和nasm(2.11.8以上);如果指令集是AVX2需要安装gas(2.23以上) Xcode llvm nasm ;上面两个都不选,可以加参数跳过openssl-no-asm,我选择了跳过。命令换成vcbuild release openssl-no-asm就ok了。
OpenSSL asm support
OpenSSL-1.1.1 requires the following assembler version for use of asm
support on x86_64 and ia32.
For use of AVX-512,
* gas (GNU assembler) version 2.26 or higher
* nasm version 2.11.8 or higher in Windows
AVX-512 is disabled for Skylake-X by OpenSSL-1.1.1.
For use of AVX2,
* gas (GNU assembler) version 2.23 or higher
* Xcode version 5.0 or higher
* llvm version 3.3 or higher
* nasm version 2.10 or higher in Windows
Please refer to
<https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_ia32cap.html> for details.
If compiling without one of the above, use `configure` with the
`--openssl-no-asm` flag. Otherwise, `configure` will fail.
源码的目录说明
- benchmark : 性能测试代码
- deps:nodejs依赖 的工具包。包含 v8、http_parser、opensslzlib、zlib、uv。
- doc:文档
- lib:核心模块js代码
- src:C++源代码
- test:测试代码
- tools:编译时用到的工具
网友评论