web-dev-qa-db-ja.com

node-gypビルドエラーウィンドウx64

X64 OSでこれまでに行ったことは次のとおりです。

  • Python(v2.7-具体的には2.7.6)をインストールし、システムパスに追加しました(C:\ Python27)
  • MS VS C++ 2010 Expressバージョンをインストールしました(VS 2012が既にありましたが、C++コンポーネントはありません)
  • Windows SDK 7.1のコンパイラー更新プログラムをインストールしました
  • Node-gyp configureが正常に実行されました(binding.gypがあるnodejs\node_modulesの下のアドオンディレクトリから)

  • node-gyp build(管理者として)を実行しました**

このエラー:

C:\Program Files\nodejs\node_modules\msnodesql>node-gyp build
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
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=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the   "/m" switch.

リンク:致命的なエラーLNK1181:入力ファイル 'kernel32.lib'を開けません[C:\ Program Files\nodejs\node_modules\msnodesql\build\sqlserver.vcxproj]

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:\Users\RNelson\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Users\\RNelson\\AppData\\Roaming\\npm\\node_modules\\node-      gyp\\bin\\node-gyp.js" "build"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\msnodesql
gyp ERR! node -v v0.10.25
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok

何が起こっているかについてのアイデアはありますか?前もって感謝します! Node.jsでnode-sqlserver MSドライバーを使用しようとしています

64
Rachael

npm config set msvs_version 2013 --globalはVSノードツールを使用し、npmインストールを実行するたびにmsvs_versionを指定する必要がないため、私のために機能しました。

Npmの構成(c:\ Users\username\.npmrc)にmsvs_version = 2012というエントリがあり、古いという問題がありました。

37
devman81

同様の問題がありました。このスイッチが私を助けてくれたことがわかりました

--msvs_version=2012

例えば

npm install --msvs_version=2012 <package>
48
Kyle

これを機能させるためにしばらく時間を費やした後(私にとって受け入れられた答えは機能しませんでした、私にとっては半分の解決策です)、私は次のことをしました:

  1. 悲しいことに、あなたはビジュアルスタジオを持っている必要があります(デスクトップ用のExpress Edition 2013をインストールしました)

  2. python 2.7.3をインストールしました(環境変数を設定する必要はありません)

  3. 管理者としてcmdを実行し、プロジェクトルートに移動します(package.jsonファイルの場所)

  4. 最初の実行:npm config set python C:\Python27\python.exe

  5. 次に:npm install -msvs_version=2013

トリックはコマンドnpm config set python ...path_to_python_exe...にあり、npmがpythonを必要とする依存関係に提供します。 pythonをenv変数として設定するだけでは不十分な理由はわかりません。

18
Srle

上記のすべてが機能しなかった場合(私の場合-Windows10 64bit

削除C:\ Users\user_name\.node-gyp

削除%AppData%/ npm

削除%AppData%/ npm-cache

そして、node-gypを再度インストールします

node-gyp page の指示に従います

オプション1を選択しましたnpm install --global --production windows-build-tools

10
vanduc1102

Node-gypをWindowsまたはその他のOSにインストールするため

最初に、node-gypをダウンロードする必要がある場合があります

$ npm install -g node-gyp-install

次にインストールする

$ npm install -g node-gyp

上記の手順をroot/administrartorとして実行する必要がある場合があります。

6
Phani Kumar

Keystoneをインストールしようとしたときに2015年に同じエラーが発生しました。あなたが言ったすべてを実行しましたが、それだけでは機能しませんでした。最後に、コマンドを実行する必要がありました

"C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.CMD" /Release /x64

コマンドを実行する前に環境をセットアップします。 (ウィンドウのテキストが緑色に変わっても大丈夫です、動作しています)。インターネットのどこでも同じようにインストールを行い、環境変数を設定しますが、他のコマンドを実行する前に上記のコマンドを実行してください。それはおそらくあなたには役に立たないでしょうが、うまくいけば他の誰かに役立っています。それでも機能しない場合は、MSVSバージョン2010が機能したので、そのバージョンをインストールし、npmコマンドの実行時にフラグ-msvs_version = 2010を使用します。

4
Angie

自分でこの問題に遭遇しましたが、これがVisual Studio 2010を使用して解決した方法です。

以下のパッケージをインストールします

Windows SDKコマンドプロンプトからnpm installを使用します(追加の環境変数を設定するため、これが必要です)。

ソース: VS2010のnode-gyp命令

1
DieterDP

私(Windows 7 64ビット)の場合、

私はこの問題に半日苦労しました。ついにうまくいきました。

途中で

  1. コントロールパネルで、すべてのPython、Microsoft Visual Studio、Microsoft Redistributable、およびこれを解決するためにインストールしたものをすべて削除しました。

  2. ウィンドウの更新と再起動。

  3. インストール済み Python27 および Visual Studio 201設定なしenv-val

  4. npm install node-gyp -g

  5. 同じエラーが発生しましたが、npm config set msvs_version 2013 --globalの後、動作します。
1
Juntae

私にとって、VS Expressと連携したソリューションは、デスクトップ用のVisual Studio 2013 Expressをインストールすることでした(これは、2013バージョンの時点で開発者コマンドプロンプトを提供する唯一のものです)。 開発者コマンドプロンプト(昇格)を開き、NPMインストールコマンドを実行します。これは特別な--msvs_version引数を必要としませんでした。

1
James

使いやすい windows build tools グローバルノードパッケージがあります。これを試すことができます。

0
EvilBurrito