【问题标题】:Why do I need Visual Studio and C++ to install node modules为什么我需要 Visual Studio 和 C++ 来安装节点模块
【发布时间】:2021-11-20 10:45:15
【问题描述】:

最近我在一个 Vue.Js 应用程序中将我的节点版本从 10+ 升级到了 14+。但它给了我一些错误并要求安装包括 C++ 的 Visual Studio。当我用 C++ 安装 VS 时。它开始工作得很好。但在那之后,每当我执行新的“npm install”时,它都需要 C++。好像不太正常。 node和C++之间有什么关系。我觉得我缺少一些东西。如果有人知道解决方案,请告诉我...

我已经在下面提到了该应用在哪里使用 C++。

> node-zopfli-es@1.0.4 install G:\PROJECT_PATH\node_modules\node-zopfli-es

> node-gyp rebuild


G:\PROJECT_PATH\node_modules\node-zopfli-es>if not defined npm_config_node_gyp (node "C:\Users\pc\AppData\Roaming\nvm\v14.17.0\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\pc\AppData\Roaming\nvm\v14.17.0\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.

zopfli-binding.cc

zopflipng.cc

zopflipng_lib.cc

lodepng.cpp

......

【问题讨论】:

  • 有些模块是用C++编写的,需要编译C++编译器。

标签: node.js visual-studio vue.js npm node-gyp


【解决方案1】:

对于某些类型的 node.js 包,这很正常。许多软件包具有二进制依赖项以提高性能(或只是与诸如 zopfli 之类的现有库集成)。他们倾向于提供源代码并在安装时构建它,而不是项目维护者为不同架构和操作系统版本分发大量不同的二进制文件。

这通常由node-gyp 处理,这也出现在您的构建日志中,但它反过来需要系统上提供正确的构建工具,在大多数情况下是 C/C++ 编译器,在相当多的情况下是 Python也是。

对于较旧版本的 node.js,您可以使用 windows-build-tools-package 来安装所需的依赖项(例如,您不需要完整的 Visual Studio,只需构建工具)但在较新版本的 nodejs 安装程序中(至少对于 Windows)这是安装时的一个选项。

如果您在安装时错过了该设置,您仍然可以使用上述软件包进行安装。

【讨论】:

  • 所以没有办法摆脱它!当我与朋友分享代码时,他还需要安装需要 10GB 空间的 Visual Studio。我必须解决问题
  • 正如我所说,您不需要完整的 Visual Studio。如果您只使用节点安装程序安装所需的东西,则构建工具会小得多。如果您不需要它们,另一种选择当然是摆脱需要它的依赖项。在您的情况下,至少 node-zopfli-es 本质上只是一个精美的压缩实用程序。
  • 哦。好的兄弟谢谢你..
猜你喜欢
  • 2013-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
相关资源
最近更新 更多