Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 为什么NodeGYP(和其他东西)需要VisualStudio?_Node.js_Visual Studio_Visual C++_Node Gyp - Fatal编程技术网

Node.js 为什么NodeGYP(和其他东西)需要VisualStudio?

Node.js 为什么NodeGYP(和其他东西)需要VisualStudio?,node.js,visual-studio,visual-c++,node-gyp,Node.js,Visual Studio,Visual C++,Node Gyp,node-gyp并不是我遇到的第一件需要它的事情,但这似乎很奇怪。我假设这与构建可执行文件或插件或其他东西有关,但是没有比完整版本的VisualStudio或VS Express更适合的依赖关系了吗?我想如果你真的想,你可以在没有VS副本的情况下编写、构建和运行.net应用程序。我试图至少学习一些C++或者在试图解决这个问题时所需要的其他东西,尽管我认为如果JuntEt很难找到一个方法,那就很重要了。 注意:我对节点gyp作为节点依赖项没有任何问题,但有此问题的Windows用户应该尝试通过从w

node-gyp并不是我遇到的第一件需要它的事情,但这似乎很奇怪。我假设这与构建可执行文件或插件或其他东西有关,但是没有比完整版本的VisualStudio或VS Express更适合的依赖关系了吗?我想如果你真的想,你可以在没有VS副本的情况下编写、构建和运行.net应用程序。我试图至少学习一些C++或者在试图解决这个问题时所需要的其他东西,尽管我认为如果JuntEt很难找到一个方法,那就很重要了。 注意:我对节点gyp作为节点依赖项没有任何问题,但有此问题的Windows用户应该尝试通过从web下载并从该exe文件重新安装来更新节点,然后再进行我勉强避开的任何其他疯狂操作。他们似乎已经解决了2010个问题,没有真正大声宣布它,NPM在试图更新自己和Windows上的节点时并不真正有效。

节点本身和其他“接近核心”的库,如节点GYP,需要一个C++编译器。在Windows上的大多数开发环境中,这将是Visual Studio与Python的结合。但是,您也可以在安装了

gcc
的情况下使用MinGW或Cygwin


与在Windows平台上编译.NET代码相比,直接使用
gcc
进行工作的经验更为丰富。但是,
gcc
在Windows上感觉不到原生

它在没有Visual Studio的情况下工作,但您需要安装Windows SDK:

  • 从获取Windows SDK
  • 使用桌面上的“SDK命令行”快捷方式启动npm安装
  • 我在这里找到了这个解决方案:

    更新: 您可以下载最新的构建工具。 最近的公告和报告

    原始答复: 最后,微软提供了更好的解决方案。一个独立的微软Visual C++的构建工具2015技术预览。
    更多信息和

    我能够在Windows 10上运行节点gyp 0.8.x,而无需使用Visual Studio

    使用这一衬套安装构建工具。以管理员身份启动PowerShell并运行:

    npm install --global windows-build-tools
    

    等待安装完成。

    它需要VisualStudio用于C++编译器,并包含文件;与Net.So无关,你不能独立获得编译器,看起来它和Win C++ SDK是可用的,我假设它比VS Express安装要小。下载整个IDE作为核心模块的依赖项,但我注意到UE4在某些方面也需要它。为什么MS讨厌我们的硬盘空间?我已经发布了关于uservoice的反馈:。请投票给每个人以引起他们的注意!谢谢。这是真的,现在已经足够公平了。(我不相信在询问时这是一个选项)不确定这是否会奏效。在Windows上的封装方面,有一些特定的东西,使MS的C++编译器需要Irc。尝试过,但它不起作用。我放弃并安装了VisualStudio链接。dead@JohnWeisz谢谢,我有固定的链接和更新的答案。