【问题标题】:npm config set C compiler not to vcbuild.exenpm config 将 C 编译器设置为不为 vcbuild.exe
【发布时间】:2016-05-13 16:34:21
【问题描述】:

当我尝试在 Windows7 机器上 npm install 一个节点项目时,我遇到了不光彩的错误消息:

MSBUILD:错误 MSB3428:无法加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装 .NET Framework 2.0 SDK,2) 安装 Microsoft Visual Studio 2005 或 3) 如果组件安装在其他位置,则将其位置添加到系统路径。

因为我在Cygwin下我已经安装了gcc$ gcc -v$ g++ -v在Cygwin和cmd都有响应)。

如何告诉 npm 使用 gcc 来编译,而不是我没有安装的 vcbuild.exe

注意:我已经尝试过 node-gyp,但没有成功。

注意2:我确信代码在linux中运行没有问题。

【问题讨论】:

  • cygwin 不是 linux ,所以你不能指望未配置的软件会运行。 npm 需要 nodejs;你把它移植到cygwin了吗?
  • 我使用 Windows 的常用安装程序安装了节点,在安装过程中,它还为您提供了安装 npm 的选项。在该节点和 npm 之后,可以从 Cyqwin 作为 cmd 完全管理。我在使用 VCBuild.exe 时遇到问题,我想知道除了安装重型 VS 是否还有其他解决方案。
  • 可从 cygwin 管理,因为 windows cmd 是一回事。但它是一个cygwin程序?我怀疑。如果是这样,您不能使用 cygwin gcc 进行编译。

标签: windows gcc npm cygwin


【解决方案1】:

以下是解决我的问题的方法以及我为达到期待已久的解决方案而采取的步骤:

  1. 已安装 Visual Studio Community,但 VCBuild.exe 仍然不存在。

  2. 已安装 Microsoft Build Tools 2015 并尝试将受影响的模块安装为:npm install bcrypt --msvs_version=2015,但出现以下错误:

错误 MSB8036:未找到 Windows SDK 8.1 版。安装所需版本的 Windows SDK 或在项目属性页面中更改 SDK 版本,或右键单击解决方案并选择“重新定位解决方案”。

  1. 我的最后一次尝试是安装 Visual Studio Express for Desktop,在 npm install bcrypt --msvs_version=2015 之后,我设法在 Windows7 中安装了 npm installnpm start 我的应用程序!!

  2. 最后我卸载了 Visual Studio Community 和 Microsoft Build Tools 2015。

请注意,我必须从 package.json 中的依赖项中删除 bcrypt 模块,并将其安装为我的 app 文件夹中的 npm install bcrypt --msvs_version=2015

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 2011-07-04
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多