重新编译electron node-gyp指定msvs_version参数
本文转载自:https://newsn.net/
书接上文,node-gyp
的参数里面有个--msvs_version
,这个参数是最终成功编译成功的重点之一。其实,如果简单的说的话,目前的情形下,这个值直接设置为2015
就可以满足要求了。那么,如果您想知道更多的详细信息,就可以继续阅读本文的内容,本文就是对--msvs_version=2015
这个规则的展开发散说明。
本文测试环境:win10
。
背景提示
本文的技术背景是:正确安装了node-gyp
所需要的cpp
编译器。前置阅读文章是:
错误提示
MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。
或者
MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "14.0","4.0"。
解决方案
设置node-gyp
命令的参数,增加--msvs_version=2015
字样即可,上述问题即可解决。不出意外的话,在一阵黄色警告信息翻滚之后,就可以编译成功了。
node-gyp --msvs_version=2015 ............
当然还是有其他参数的,为了突出显示参数--msvs_version=2015
,其他的参数就暂时隐藏掉了。
特殊的msvs_version
使用方式一
下面的是特殊使用方式,和普通的设置--msvs_version
的方式,有些不同。
npm config set msvs_version 2015 --globalnode-gyp rebuild --target=1.7.11 --arch=x64 --target_arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell
上面的两条命令就相当于下面的一条命令:
node-gyp rebuild --target=1.7.11 --arch=x64 --target_arch=x64 --dist-url=https://npm.taobao.org/mirrors/atom-shell --msvs_version=2015
上面的命令就是说,可以把msvs_version
设置成全局的值,在后续的命令中,就不必再次指定了。
特殊的msvs_version
使用方式二
如果是在package.json
里面定义了ffi
等依赖的话,
那么安装命令的一个变形可能是:
npm i --msvs_version=2015
或者:
npm config set msvs_version 2015 --globalnpm i
总结
本文说的似乎比较多,其实中心思想就一条:把msvs_version
设置为2015
即可。当然,这句话的前提也是你真正的安装好了cpp
编译器。在将来的代码发展中,这个2015
的字样,可能会变成2017
/2020
之类的字样,或者干脆消失不见,这都是有可能的。
以上是 重新编译electron node-gyp指定msvs_version参数 的全部内容, 来源链接: utcz.com/a/118936.html