web-dev-qa-db-ja.com

gyp ERR!スタックエラー: `C:\ Program Files(x86)\ MSBuild \ 12.0 \ bin \ msbuild.exe`が終了コードで失敗しました:1

npm installを実行すると、次のエラーが発生します。問題を見つけることができません。

この問題を見つけるのに助けが必要です。

d:\testing\node-sample-module\node_modules\ffi\node_modules\ref\node_modules\nan\nan_implementation_pre_12_inl.h(112): error C2668: 'v8::FunctionTemplate::New' :  ambiguous call to overloaded function [d:\TESTING\node-sample-module\node_modules \ffi\node_modules\ref\build\binding.vcxproj]
C:\Users\SELVA\.nw-gyp\0.8.5\deps\v8\include\v8.h(3344): could be 'v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::FunctionCallback,v8::Handle<v8::Value>,v8::Handle<v8::Signature>,int)'
C:\Users\SELVA\.nw-gyp\0.8.5\deps\v8\include\v8.h(3343): or v8::Local<v8::FunctionTemplate> v8::FunctionTemplate::New(v8::InvocationCallback,v8::Handle<v8::Value>,v8::Handle<v8::Signature>,int)' while trying to match the argument list '(int, v8::Local<v8::Value>,    v8::Local<v8::Signature>)'

gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (c:\Users\SELVA\AppData\Roaming\npm\node_modules\nw-gyp\lib\build.js:267:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "c:\\Users\\SELVA\\AppData\\Roaming\\npm\\node_modules\\nw-gyp\\bin\\nw-gyp.js" "clean" "configure" "--target=0.8.5" "build" "--Arch=ia32"
gyp ERR! cwd d:\TESTING\node-sample-module\node_modules\ffi\node_modules\ref
gyp ERR! node -v v0.10.35
gyp ERR! nw-gyp -v v0.12.4
gyp ERR! not ok

参考までに、私はWindows7マシンを使用しています。

また、以下をインストールしてください。

  • Visual C++再頒布可能パッケージ2013(32ビット)

  • Python 2.7.3(env変数をpath/python.exeに設定)

  • Visual Studio Express 2013

  • .Net Framework 4.5 SDK

前もって感謝します。

6
SELVA

更新:

新しいパッケージがこれらすべてを実行します。

以下を実行して、十分な権限があることを確認してください。

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force

次に実行します:

npm install -g windows-build-tools

インストールされるのを待ってから実行します。

window-build-tools

そして、すべてが最高の順序である必要があります。


古い答え:

私はあなたと同じ問題のいくつかを経験しました。私はHyper-VでWindows8.1の新規インストールをスピンアップし、インストールプロセスを経て、長い道のりを書き留めました。必要なツールがすべてインストールされているようです。

msvs_versionを実行するときにnpm install-フラグを設定することが、あなたが見逃しているかもしれないと思う唯一のことだと思います(完全にはわかりませんが)-それで、これが役立つかどうか見てみてください:

npm install --msvs_version=2013

これらすべてのメモを終えたので、ここに置いた方がよいでしょう。同じ種類の問題を経験している人が助けを見つけるかもしれません。

新しくインストールしたマシンでの私のレシピ:

1)Node.jsをインストールします

2)gitをインストールします

  • CLIコマンドは管理者権限で実行する必要があります
  • 「WindowsコマンドプロンプトからGitとオプションのUnixツールを使用する」を選択します

    • git-add-to-path

3)npmをnpm 3.x.xにアップグレードします(オプションの手順)

Node.jsをインストールしたばかりでも、バージョン3にnpmがあるとは限りません。

  • CLIコマンドは管理者権限で実行する必要があります
  • コマンドラインインターフェイスでnpm install -g npm-windows-upgradeを実行します。
  • コマンドラインインターフェイスでSet-ExecutionPolicy Unrestricted -Scope CurrentUser -Forceを実行します
  • コマンドラインインターフェイスでnpm-windows-upgradeを実行します
  • 最新バージョンを選択してインストールします
  • インストールが完了したら、npm --versionを実行し、3.x.xのような応答を確認します。

4)インストールPython 2.7.x

  • https://www.python.org/downloads に移動します
  • ボタンをクリックしてダウンロードPython 2.7.x
  • インストーラーを実行します。
  • Install for all usersを選択します-[次へ]をクリックします。
  • C:\Python27にインストールすることを選択します-[次へ]をクリックします

    • python-location
  • 必ずWill be installed on local hard driveAdd python.exe to Pathを選択してください-[次へ]をクリックしてください

    • python-add-to-path-01

    • python-add-to-path-02

    • python-add-to-path-03

  • インストールを完了します

5)アップデート4を使用してWindowsデスクトップ用のVisual Studio Express 2013をインストールします

システムに別のバージョンのVisualStudioがインストールされている場合でも、これもインストールしてください。

  • http://www.Microsoft.com/en-gb/download/details.aspx?id=44914 に移動します
  • Englishまたはその他の利用可能な言語を選択し、Downloadをクリックします
  • wdexpress_full.exeを確認し、[次へ]をクリックします
  • ダウンロードしたファイルを実行します。インストールを開始します。
  • インストールを開始できない場合は、このステップに必要なツールがすでにあることを意味します。インストールを中止します。

ここでnpm install --msvs_version=2013を実行すると、node-gypスローエラーなしで最後に到達できるはずです。

18
Brian Frisch

Windows10とNode 13の場合、Visual Studioとビルドツールをアンインストールし、Node 13.次に、npmとnpm-を削除しました。 Node 11.6を再インストールし、Chocolatelyのインストールを選択する前に、ローミングからキャッシュします。その後はうまくいきました。

0
jarrettyeo