重新构建electron,node-gyp如何指定msvs_version参数?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
书接上文,node-gyp
的参数里面有个--msvs_version
,这个参数是最终成功编译成功的重点之一。其实,如果简单的说的话,目前的情形下,这个值直接设置为2015
就可以满足要求了。那么,如果您想知道更多的详细信息,就可以继续阅读本文的内容,本文就是对--msvs_version=2015
这个规则的展开发散说明。
本文测试环境:win10
/node@10.15.1
/node-gyp@3.8.0
/electron@1.7.11
。
背景提示
本文的技术背景是:正确安装了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 --global
node-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 --global
npm i
总结
本文说的似乎比较多,其实中心思想就一条:把msvs_version
设置为2015
即可。当然,这句话的前提也是你真正的安装好了cpp
编译器。在将来的代码发展中,这个2015
的字样,可能会变成2017
/2020
之类的字样,或者干脆消失不见,这都是有可能的。
点击下面的链接,了解更多有关node-gyp
的文章吧:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。