コンパイルが必要なモジュールをインストールできません。それらはすべて次のエラーで失敗します。
MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". ...
私の環境:
関連環境変数:
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
なし、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 [email protected]
gyp info using [email protected] | 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
多分あなたはそれについていくつかのアイデアがあるでしょうか?
ありがとう。
それを試してください - それをグローバルに設定します。
npm config set msvs_version 2012 --global
VS2010をインストールせずに2012年のみにインストールするには、msvs_versionフラグを設定します。
node-gyp rebuild --msvs_version=2012
npm install <module> --msvs_version=2012
@Jacobのコメントのとおり
2013バージョンをお持ちの場合はnpm install --msvs_version=2013
V3をアップデートします。 https://www.npmjs.com/package/windows-build-tools
npm install --global windows-build-tools
microsoftから無料で提供されるVisual C++ Build Tools 2015をダウンロードしてインストールします。これらのツールは、一般的なネイティブモジュールをコンパイルするために必要です。また、Python 2.7をインストールし、あなたのマシンとnpmを適切に設定します。
V2を更新します。
node-gypはreadmeを更新して---を含むようにしました Windows用HOW-TO
元の:
ビジュアルスタジオ全体を使用する必要はありません。ビルドツールだけをダウンロードできます。
Microsoft Build Tools 2013: http://www.Microsoft.com/en-us/download/details.aspx?id=4076
2013バージョンを使用するようにグローバルフラグを設定するためにcmdを実行します。
npm config set msvs_version 2013 --global
これですべてが正常に戻り、npm install/node-gypの再構築がうまくいくはずです。
--msvs_version = 2012を追加するだけです
node-gyp rebuild --msvs_version=2012
または
node-gyp configure --msvs_version=2012
node-gyp build
Node.jsのパッケージをインストールしようとしたときにも同じ問題がありました。いくつかの大規模なgoogelingの後、私はこの散歩を見つけました: https://github.com/TooTallNate/node-gyp/wiki/Visual-Studio-2010-Setup
私がこれらのステップをたどったとき、私は何の問題もなく "npm install"を使うことができた。
@ 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のインストールと混同することはありません。
windows 8では、それは私のために働いた:
npm install -g node-gyp -msvs_version=2012
それから
npm install -g restify
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"へのリンク)現時点ではnode-gypがnodeの2倍古いとしても、新しいものはvcbuild.exeの代わりにmsbuild.exeを使用するため、古い7.1 SDKを使用する必要があります(Windows 8.1上でも)。
そのプロンプトに入ったら、x86コンテキストを取得するために次のコマンドを実行しなければなりませんでした。それは、アーキテクチャーがアーキテクチャーに関してエラーとしてスローしていたからです。
setenv.cmd /Release /x86
それで、物事を再コンパイルするためにnode-gypを使おうとしていたnpmコマンドをうまく実行することができました。
私は同じisueeを持っていて、上のすべての魔法をしました、私のために魔法をした唯一の事は https://github.com/atom/atom/issues/2435 からです
「--msvs_version = 2013がビルドスクリプトによって実行されるときにnode-gypに渡されないため、GYP_MSVS_VERSION = 2013 env変数を設定すると、あとで機能するはずです。」
バング!出来た
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
Windows 8 64ビット版で、zmqとprotobufをインストールすると、以下がうまくいきました。インストール Visual Studio 2012 コマンドラインで:
SET VisualStudioVersion=11.0
npm install zmq
npm install protobuf
PATH
のvcbuild.exe
を含むディレクトリへのパスを追加します。vcbuild.exe
が必要な場合はこちらから入手してください https://github.com/kin9puppy/vcbuildFixForNode私は解決策をダウンロードすることだと思います。NETFramework 3.5でServer 2008用のMicrosoft windows sdkをインストールします
または単にVisual Studio 2008をインストールする。
問題は、Windowsビルドnode-gypがvcbuid.exeファイルを実行するためのもので、何らかの理由でそれを見つけることができません。
ありがとう
長い闘いの末、私は自分のノードアーキテクチャをx86に切り替えましたが、それは魅力のように機能しました。
cmdで、urのバージョンに応じてVisual Studioのパスを次のように設定します。
Visual Studio 2010 (VS10): SET VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11): SET VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12): SET VS90COMNTOOLS=%VS120COMNTOOLS%
Node-master(gitからダウンロードした元のノードモジュール)で、管理者権限でvcbuild.batを実行します。 vcbild.batは、ウィンドウ関連の依存関係を生成し、ノードマスターにフォルダ名Releaseを追加します。
一度実行するとファイルの構築に時間がかかります。
それから.gypファイルを持っているディレクトリでコマンドを使う
node-gyp rebuild --msvs_version=2012 --nodedir="Dive Name:\path to node-master\node-master"
これですべての依存関係が構築されます。
Nodejs zmqをコンパイルするのにも多くの問題がありました。
Vcbuild.exeに関する問題については、PATHに追加するだけです。
他の問題のために私はちょうどWindows 7.1 SDK Command Prompt
を使ってコンパイルすることができます
(メニュープログラム - > Microsoft Windows SDK v7.1 - > Windows 7.1 SDKコマンドプロンプト)
そしてプロンプトから:
npm install zmq
それはうまくいきます:)
私はこのチュートリアルで窓8と窓10プロでこの問題を解決しました。私は多くの異なる解決策でこの問題を解決するために多くの時間を試みるが、これで私のためだけに働いた: 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を使いました。