node源码系列----编译nodejs-v16

提前准备

系统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
  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:编译时用到的工具

你可能感兴趣的:(node源码系列----编译nodejs-v16)