在windows上nodegyp编译出现错误MSB8020的解决办法

在windows上使用npm install安装有些需要c++编译的包的时候,有时候可能会出现MSB8020错误,大部分原因可能是

  1. 机器没有安装msbuild/vs (安装相对应版本的vs,有点像废话!!!)
  2. vs安装的版本与编译标识的版本不匹配 (可以在详细错误中找到编译找寻的版本),此种情况较多,解决方法:
    a. 安装具体包的时候制定vs版本,如:npm install lwip –msvs_version=[匹配版本,如:2012]
    b. 统一设置vs版本:npm config set msvs_version [匹配版本,如:2012]

参考:npm-install-for-some-packages-sqlite3-socket-io-fail-with-error-msb8020-on-windows