web-dev-qa-db-ja.com

node-gypが原因でnpmをインストールできません:binding.gypが見つかりません

私は一日中これに取り組んでいて、たくさんの異なることを試しました:

  • ノードのアンインストールと最新バージョンのインストール
  • --msvs_version=フラグを2010, 2011, 2012, 2013, 2015に設定して使用する
  • .node-gypフォルダーの削除
  • python .npmrcへのパスを次のように追加します:python=C:\Python27\python.exe
  • npm -g install npm@next
  • node-gyp rebuildおよびnode-gyp configureの実行
  • 以下 ロバート・キーホーのガイド

ラフタイム。

パッケージはElectron/Reactアプリで、Windows 10を実行しています。npm installのコンソール出力は

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): error MSB8008: Specif
ied platform toolset (v120) is not installed or invalid. Please make sure that a supported PlatformToolset value is sel
ected. [C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib\build\addon.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\scheinerbock\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\scheinerbock\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\scheinerbock\Desktop\mpstudio\node_modules\mplib
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok

node-gyp rebuildの場合:

binding.gypをロードしようとしたときに、gyp:binding.gypが見つかりません(cwd:C:\ Users\scheinerbock\Desktop\mpstudio)

私はここの操舵室からはかなり外れているので、解決策に加えて提案や情報をいただければ幸いです。

8
Ben S

this thread を参照してください。おそらく役立つでしょう。

node-gypはWindowsでのビルドにVisual Studioを使用しているので、問題はVSのインストールにあると思います。

このパス(C:\ Program Files(x86)\ MSBuild)から判断すると、新しいバージョンが必要なようです(おそらく、Visual Studio 2015で MSBuild が最初に導入されました)。

2
mihai

binding.gypファイルを作成し、プロジェクトルートに配置します。ファイルの内容は次のようになります。

{
  "targets": [
    {
      "target_name": "binding",
      "sources": [ "src/binding.cc" ]
    }
  ]
}

A binding.gypファイルは、JSONのような形式で、モジュールを構築するための構成を記述します。このファイルは、package.jsonとともにパッケージのルートに配置されます。ここを参照してください: https://github.com/nodejs/node-gyp#the-bindinggyp-file

0
Reagan Ochora

python 3.xではなく2.xバージョンがインストールされていて、3.xではないことを確認してくださいpython 2.6

0
user1416932

次のコマンドを使用します。それは私のために働いた。勝利10のためにそれはうまく働きます:

npm install --msvs_version=2013
0
Sandip Jadhav