为什么node-gyp(和其他东西)需要Visual Studio?

node-gyp并不是我所要求的第一件事情,但这似乎很奇怪。 我认为这与构build可执行文件或插件或其他任何东西有关,但是没有比完整版本的Visual Studio或VS Express更小的依赖关系吗? 我虽然你可以真正写,build立和运行.net应用程序没有VS的副本,如果你真的想。 我打算至less学习一些C ++或其他任何尝试解决这个问题所需要的东西,尽pipe我觉得如果Joyent无法轻易地find解决方法,这是非常重要的。

注意:node-gyp作为一个节点依赖项没有问题,但是有这个问题的Windows用户应该尝试通过从web上下载并从那个exe文件重新安装来更新节点,然后再做任何其他疯狂的事情,回避。 他们似乎已经修复了2010年版本的问题,但没有真正大声宣布,而npm在试图在Windows上更新自身和Node时并没有真正起作用。

Solutions Collecting From Web of "为什么node-gyp(和其他东西)需要Visual Studio?"

它没有Visual Studio的工作,但你需要安装Windows SDK:

  1. https://www.microsoft.com/en-us/download/details.aspx?id=8442获取Windows SDK
  2. 使用桌面上的“SDK命令行”快捷方式启动npm install

我在这里find了这个解决scheme: https : //github.com/nodejs/node-gyp/issues/629#issuecomment-138276692

最后微软提供了更好的解决scheme。 独立的Microsoft Visual C ++构build工具2015年技术预览更多信息在这里和这里

节点本身和其他“接近核心”库,如C ++编译器node-gyp。 在Windows上的大多数开发环境中,这将是Visual Studio和Python的结合。 但是你也可以使用MinGW或者Cygwin来安装gcc

直接用gcc做东西的经验可以比较一下在Windows平台上编译.NET代码。 但是gcc在Windows上感觉不到本机。

我可以使用windows-build-tools在没有Visual Studio的 Windows 10上运行node-gyp 0.8.x。

以pipe理员身份运行:

 npm install --global --production windows-build-tools 

等待安装完成。

内容

  • Visual C ++编译器(针对x86,X64和ARM)
  • Visual C ++头文件和库(CRT和STL)
  • Visual C ++构build脚本(针对Windows桌面)
  • 微软构build工具2015(MSBuild)
  • Windows SDK 8.1(可选,默认情况下)
  • Windows SDK 10(可选,默认closures)
  • ATL和MFC(可选,默认closures)
  • C ++构build工具特定的命令提示符