193

コンパイルが必要なモジュールをインストールできません。次のエラーですべて失敗します。

MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...

私の環境:

  • Windows 7 エンタープライズ x64、バージョン 6.1.7601
  • ノード x86 0.8.16
  • npm 1.2.0
  • ノード-gyp 0.8.2
  • Visual Studio 2012 と多数のパッケージ

関連する環境変数:

Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShel l\v1.0;C:\Program Files\TortoiseGit\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\tools;c:\tools\node

INCLUDE、LIB、LIBPATH などはありません。

この問題について簡単な調査を行ったところ、次のセットアップで、手動で複製された git://github.com/einaros/ws.git の手動コンパイル (VCBuild.exe と msbuild.exe を直接呼び出す) が成功することがわかりました。

SET Configuration=Release
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 9.0\VC\vcpackages
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\Common7\IDE;%PATH%
SET PATH=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
SET PATH=%SystemRoot%\system32;%PATH%

SET INCLUDE=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\include
SET INCLUDE=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%

SET LIB=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A\Lib
SET LIB=%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\lib;%LIB%

SET MSBUILD="%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe"

VCBuild.exe C:\Tools\node\ws\build\bufferutil.vcproj "Release|Win32" /useenv
VCBuild.exe C:\Tools\node\ws\build\validation.vcproj "Release|Win32" /useenv
%MSBUILD% build/binding.sln /verbosity:diagnostic /nologo /p:Configuration=Release;Platform=Win32

同じ変数で node-gyp を呼び出そうとしましたが、失敗しました:

C:\!> git clone https://github.com/einaros/ws.git
C:\!> cd ws
C:\!\ws>node-gyp configure
...
C:\!\ws>node-gyp build
gyp info it worked if it ends with ok
gyp info using node-gyp@0.8.2
gyp info using node@0.8.16 | win32 | ia32
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=Win32' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
C:\Users\User\.node-gyp\0.8.16\deps\uv\include\uv.h(55): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory [C:\!\
ws\build\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (c:\Tools\node\node_modules\node-gyp\lib\build.js:255:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "c:\\Tools\\node\\\\node.exe" "c:\\Tools\\node\\node_modules\\node-gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\!\ws
gyp ERR! node -v v0.8.16
gyp ERR! node-gyp -v v0.8.2
gyp ERR! not ok

多分あなたはそれについていくつかのアイデアを持っているでしょうか?

ありがとう。

4

17 に答える 17

151

それを試してください-グローバルに設定します:

npm config set msvs_version 2012 --global
于 2014-03-14T16:44:19.297 に答える
144

VS2010 をインストールせずに 2012 のみで実行するには、msvs_version フラグを設定します。

node-gyp rebuild --msvs_version=2012

npm install <module> --msvs_version=2012

@Jacobコメントによると

npm install --msvs_version=20132013年版をお持ちの場合

于 2013-05-31T09:40:43.920 に答える
41

--msv_version=2012 を追加するだけです

node-gyp rebuild --msvs_version=2012

また

node-gyp configure --msvs_version=2012
node-gyp build 
于 2013-04-14T15:14:37.870 に答える
21

Node.js のパッケージをインストールしようとしたときに、同じ問題が発生しました。いくつかの広範なグーグル検索の後、私はこのチュートリアルを見つけました: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup

これらの手順を実行すると、「npm install」を問題なく使用できました。

于 2013-04-05T09:57:18.540 に答える
13

@felixriesebergのおかげで、 windows-build-tools npm パッケージをインストールするだけで準備完了です。

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

Visual Studio をインストールする必要はありません。

Microsoft Build Tools をインストールする必要はありません。

レポから:

インストール後、npm はこのモジュールを自動的に実行し、Microsoft が無料で提供する Visual C++ Build Tools 2015 をダウンロードしてインストールします。これらのツールは、一般的なネイティブ モジュールをコンパイルするために必要です。Python 2.7 もインストールされ、マシンと npm が適切に構成されます。

Windows Vista / 7 には .NET Framework 4.5.1 が必要 (現在、このパッケージでは自動的にインストールされません)

どちらのインストールも競合がありません。つまり、Visual Studio、C++ ビルド ツール、または Python の既存のインストールを混乱させることはありません。

于 2016-11-15T17:18:47.157 に答える
5

DAYS 掘り下げた後、IRC の誰かが私に

Windows 7.1 SDK Command Prompt

ショートカット (C:\Windows\System32\cmd.exe /E:ON /V:ON /T:0E /K "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" へのリンク) )。古い7.1 SDKが必要だと思います(Windows 8.1でも)。新しいものは、この時点でノードの2倍古いにもかかわらず、node-gypが望んでいるものであるvcbuild.exeの代わりにmsbuild.exeを使用するためです:/

そのプロンプトで、x86 コンテキストを取得するために次のコマンドを実行する必要がありました。

setenv.cmd /Release /x86

その後、node-gypを使用して再コンパイルしようとしていたnpmコマンドを正常に実行できました。

于 2013-12-05T19:02:41.700 に答える
4

私は同じ問題を抱えていて、上記のすべての魔法を行いました.

「ビルド スクリプトによって実行されるときに --msvs_version=2013 が node-gyp に渡されないためです。GYP_MSVS_VERSION = 2013 環境変数を設定すると、後で動作するはずです。」

バン!出来た

于 2015-05-24T08:07:27.730 に答える
3

Windows でこれは私を助けました: (クレジットはに行きます) https://github.com/TooTallNate/node-gyp/wiki/Updating-npm%27s-bundled-node-gyp MINGW32 を試しましたが、成功しませんでした。

の上cmd.exe

$ cd "C:\Program Files\nodejs\node_modules\npm"
$ npm install -g node-gyp@latest
于 2014-09-20T18:02:21.657 に答える
1

解決策は、 .netFramework3.5を使用してサーバー2008用のMicrosoftWindowsSDKをダウンロードして インストールすることだと思います。

または、VisualStudio2008をインストールするだけです。

問題はWindowsビルドノードの場合です-gypはvcbuid.exeファイルを実行し、何らかの理由でそれを見つけることができません。

ありがとう

于 2013-03-05T13:08:16.283 に答える
0

nodejs zmqをコンパイルするのにも多くの問題がありました。

vcbuild.exe に関する問題については、それを PATH に追加するだけです

他の問題については、次を使用してコンパイルできますWindows 7.1 SDK Command Prompt

(メニュー プログラム -> Microsoft Windows SDK v7.1 -> Windows 7.1 SDK コマンド プロンプト)

そしてプロンプトから:

npm install zmq

それはうまくいきます:)

于 2014-09-23T18:17:54.797 に答える
0

このチュートリアルで、Windows 8およびWindows 10 proでこの問題を解決しました。私は多くの異なるソリューションでこの問題を解決しようと何度も試みましたが、これでしかうまくいきませんでした: http://www.serverpals.com/blog/building-using-node-gyp-with-visual-studio-express -2015-on-windows-10-pro-x64 このチュートリアルのようにノードのバージョンを制御するために nodist を使用しなかったことに気付きました。NVM を使用して正常に動作しました。このチュートリアルを nodist でテストしていません。ノード5.2.0を使用しました。

于 2015-12-28T16:50:29.223 に答える