web-dev-qa-db-ja.com

エラーMSB3411:Visual C ++コンポーネント「VCBuild.exe」をロードできませんでした

Visual Studio 2010 SP1とWindows SDK 7.1を使用しています。 VS2012とWindowsキット8も持っています。

Windows SDK 7.1 Command Promptを実行してnode-gyp build --msvs_version=2010を実行すると、エラーが発生します。

error MSB3411: Could not load the Visual C++ component "VCBuild.exe". 
If the component is not installed,
either 1) install the Microsoft Windows SDK for Windows Server 2008 and .NET Fr
amework 3.5, or 2) install Microsoft Visual Studio 2008.

それはVCBuild.exeを見つけようとしていますか?.

vcbuildがmsbuildに置き換えられました であることがわかりました。

それは有効なエラーですか?

また、Windows 7では.NET 3.5の場合、コントロールパネルから有効にするだけでよいことがわかりました。 herethis など、stackoverflowに関する他の質問を見てきました。

しかし問題は、vcbuild.exeがvs2010のシステムに存在しないため、なぜnode-gypがそれを検索するのかということです。それとも何か不足していますか?

このエラーを解決するにはどうすればよいですか?

12
Ashish Negi

here で説明されているように、以下は(2014年6月の時点で)私にとって有効です。

  • 無料のVisual Studio Express 2013をインストールする ウィンドウズ (VS Express 2013 for Webではありません)

  • npm install --msvs_version = 2013

それ以外の場合は、古いMicrosoftパッケージとパッチのインストールに長い時間を費やしてきましたが、役に立ちませんでした。

25
br2000

node-gyp wiki に記載されているVS2010およびその他のアプリケーションを設定すると、問題が解決しました。

Windows XP/Vista/7では、node-gypにはPython 2.7およびVisual Studio 2010が必要です

Windows SDK 7.1のMicrosoft Visual C++ 2010 Service Pack 1 Compiler Updateのreadmeファイルによると、システムがサポートされている構成であることを確認するには、

最初に次の製品をアンインストールします(時間を大幅に節約したい場合)

次に、リストされた順序でそれらを再インストールします:(任意の順序でアンインストールできます:P)

Visual Studio 2010

Windows SDK 7.1

Visual Studio 2010 SP1

Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

X64環境では、リストの最後の更新により、不足しているコンパイラーに関するエラーが修正され、

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found

7
Ashish Negi

すべての質問に対する答えは ここ にあります。これを見つけるのに大変苦労しました。ようやく動作しました。 =)

ここのリンクにアクセスする時間を節約するためだけに、そのリンクで役立つものがあります。

取扱説明書:

Npmでインストールできます:

$ npm install -g node-gyp

以下もインストールする必要があります。

Unixの場合:

  • python(v2.7推奨、v3.x.xはサポートされていません)

  • gCCのような適切なC/C++コンパイラツールチェーンを作成する

Windowsの場合:

  • Python(v2.7.3推奨、v3.x.xはサポートされていません)

  • Windows XP/Vista/7:Microsoft Visual Studio C++ 2010(Expressバージョンは正常に動作します)

  • ノードおよびネイティブモジュールの64ビットビルドの場合、Windows> 7 64ビットSDKも必要です。

  • インストールが失敗した場合、

    • 最初にインストールしたC++ 2010 x64&x86再頒布可能パッケージをアンインストールしてみてください。

    • 64ビットコンパイラがインストールされていないというエラーが発生した場合は、Windows SDK 7.1のコンパイラアップデートも必要になる場合があります

Windows 7/8:

  • Microsoft Visual Studio C++ 2012/13 for Windows Desktop(Expressバージョンは正常に動作します)

  • 複数のPythonバージョンがインストールされている場合、「-python」変数を設定することにより、node-gypがどのPythonバージョンを使用するかを識別できます。

$ node-gyp --python /path/to/python2.7

Node-gypがnpm経由で呼び出され、Pythonの複数のバージョンがインストールされている場合は、npmの 'python'設定キーを適切な値に設定できます。

$ npm config set python /path/to/executable/python2.7
6
HVT7