web-dev-qa-db-ja.com

NPMのインストールがnode-gypで失敗する

プロジェクトで"npm install"の実行に問題があります。特定のファイルが見つかりません:

fatal error C1083: Cannot open include file: 'windows.h'

node-gypモジュールから来ているようです:

c:\ Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_lo ad_hook.c(13):

致命的なエラーC1083:インクルードファイルを開けません: 'windows.h':no suc hファイルまたはディレクトリ[D:\ ngs-frontend-next\node_modules\browser-sync\node_module s\socket.io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil\buil d\binding.sln]

このnode-gypは、終わりのない痛みの源であるように思えます。最初はpythonが必要だと文句を言っていたので、インストールしました。それから、VCBuildが必要であると不平を言いました。VCBuildを(.NET 2.0 SDKを使用して)インストールしましたが、このエラーが発生しました。まるでエラーがますますあいまいになりつつあり、間違った道を進んでいるように感じます。

奇妙なことは、私たちのチームの他の人々がnpm-installを実行するのに問題がないことです。

完全なエラーは次のようになります。

c:\ Program Files\nodejs\node_modules\npm\node_modules\node-gyp\src\win_delay_lo ad_hook.c(13):

致命的なエラーC1083:インクルードファイルを開けません: 'windows.h':no suc hファイルまたはディレクトリ[D:\ ngs-frontend-next\node_modules\browser-sync\node_module s\socket.io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil\buil d\binding.sln]

gyp ERR!ビルドエラーgyp ERR!スタックエラー:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exeは終了コードで失敗しました:ChildProcess.onExitの1スタック(C:\ Program Files\nodejs\node_modules\npm\node _modules\node-gyp\lib\build.js:270:23)gyp ERR! emitTwo(events.js:87:13)でスタックgyp ERR! ChildProcess.emit(events.js:172:7)でスタックgyp ERR! Process.ChildProcess._handle.onexit(internal/child_proces s.js:200:12)のスタックgyp ERR!システムWindows_NT 6.1.7601 gyp ERR!コマンド "C:\ Program Files\nodejs\node.exe" "C:\ Program Files\nodej s\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild" gyp ERR! cwd D:\ ngs-frontend-next\node_modules\browser-sync\node_modules\socket io\node_modules\engine.io\node_modules\ws\node_modules\bufferutil gyp ERR! node -v v4.2.2 gyp ERR! node-gyp -v v3.0.3 gyp ERR! ok npm WARNオプションdepが失敗し、utf-8-validate @ 1.2.1を続行

[email protected] postinstall D:\ ngs-frontend-next\node_modules\gulp-imagemin\nod e_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle node lib/install.js

Out pacakge.jsonは次のようになります。

{
  "name": "Fast-nunjucks",
  "version": "0.0.1",
  "description": "A simple boilerplate using nunjucks as a template engine",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/willianjusten/Fast-nunjucks.git"
  },
  "keywords": [
    "nunjucks",
    "node",
    "gulp",
    "stylus"
  ],
  "author": "Willian Justen de Vasconcellos",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/willianjusten/Fast-nunjucks/issues"
  },
  "homepage": "https://github.com/willianjusten/Fast-nunjucks",
  "devDependencies": {
    "autoprefixer-stylus": "^0.7.1",
    "browser-sync": "^2.8.2",
    "gulp": "^3.9.0",
    "gulp-cache": "^0.3.0",
    "gulp-concat": "^2.6.0",
    "gulp-if": "^1.2.5",
    "gulp-imagemin": "^2.3.0",
    "gulp-minify-html": "^1.0.4",
    "gulp-nunjucks-html": "^1.2.2",
    "gulp-order": "^1.1.1",
    "gulp-plumber": "^1.0.1",
    "gulp-stylus": "^2.0.6",
    "gulp-uglify": "^1.2.0",
    "gulp-util": "^3.0.6",
    "jeet": "^6.1.2",
    "kouto-swiss": "^0.11.13",
    "minimist": "^1.1.3",
    "rupture": "^0.6.1"
  },
  "dependencies": {
    "gulp-install": "^0.6.0"
  }
}
15
Oliver Watkins

エラーメッセージは私を混乱させ、エラーを完全に解決する助けにはなりませんでした。

README.md for node-gyp プロジェクトは、Unix、Max OS X、およびWindowsのインストール手順を一覧表示するのに適しています。

Windowsシステムでは、オプション1またはオプション2を使用できますが、主なことは Visual C++ Build Tools

次の引用は、Windowsインストールセクションからのものです。

  • Windowsの場合:
    • Visual C++ビルド環境:
      • オプション1:既定のインストールオプションを使用してVisual C++ビルドツールをインストールします。
      • オプション2:Visual Studio 2015をインストール(または既存のインストールを変更)し、セットアップ中にVisual C++の共通ツールを選択します。これは、無料のCommunityおよびExpress for Desktopエディションでも機能します。

      [Windows Vista/7のみ]には.NET Framework 4.5.1が必要です
    • インストールPython 2.7(v3.x.xはサポートされていません)、実行します
      npm config set python python2.7
      (または適切なPythonバージョンとパスを指定する方法の詳細については、以下を参照してください。)
    • Cmdを起動します。
      npm config set msvs_version 2015

上記の手順がうまくいかなかった場合は、MicrosoftのNode.js Windowsガイドラインを参照して、追加のヒントを入手してください。

Python設定の一般的な手順:

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

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

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

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

上記の指示に従ってシステムを正常に構成しました。

システム情報

λ ver

Microsoft Windows [Version 6.1.7601]

λ node -v
v6.2.0
λ npm -v
3.9.2

関連ツール/記事へのリンク:

Visual C++ビルドツール

Visual Studio 2015

。NET Framework 4.5.1

Python 2.7

Windows向けのMicrosoftのNode.jsガイドライン

15
Sourav Paul

--force optionを使用してもう一度インストールしてみてください。

npm install --force

これが機能しない場合は、npmをグローバルに更新してみてください。

npm update -g npm 

--forceオプションを使用して再試行してください。

8
David Vega
  1. VC++ビルドツールのインストールテクニカルプレビュー[Windows 7のみ]には.NET Framework 4.5.1が必要です

  2. Python 2.7をインストールし、PATHに追加します。npmconfig set python python2.7

  3. Cmd、npm config set msvs_version 2015 --globalを起動します(npm install [パッケージ名] --msvs_version = 2015の代わりに毎回)。

4.SO MUCH npm install:tada:

3
sabari

前回同様のエラーを見たのは、依存関係の1つにnpmnodeの間違ったバージョンを使用していたためです。これらをアップグレードして再試行してください。

再試行する前にnode_modulesディレクトリ。

依存関係に必要なnpmおよびnodeのバージョンを調査する必要がある場合があります。すべての依存関係、ノード、npmの最新バージョンを試すことができます。

同僚が使用しているバージョンを確認してください。

どのOSを使用していますか? CLANGのバージョンが異なる可能性があるため、影響があります。

3
Softinio

これで解決しました(OS X):

    rm -rf  ~/.node_gyp and
    Sudo npm install -g [email protected]
    cd /usr/local/lib Sudo ln -s ../../lib/libSystem.B.dylib libgcc_s.10.5.dylib 
    brew install gcc
    npm install
1
Orr

Windows 10を使用している私のような人が、多くのMicrosoft関連ビルドツールをインストールした後もエラーが発生する場合に備えて、ここに私のソリューションを投稿してください。

必要なものは次のとおりです。

Windows 10 64ビット

python 2.7.x

Visual Studio 201

以前にVisual Studio 2015を試しましたが、まったく機能しませんでした。


  1. まず、Microsoftに関連するすべてのビルドツールをアンインストールします。 (この問題を解決するために何もインストールしなかった場合は、この手順をスキップしてください。)

  2. Visual Studio 2013をインストールします。

  3. @Souravが言ったようにnpmを設定します:

Pythonの構成:

npm config set python /path/to/python2.7

Msvs_versionの構成:

npm config set msvs_version 2013

npm installまたはこのエラーが発生するnpmコマンド。わたしにはできる!

ところで、この解決策は here からのものです。

1
Java Xu

Windows 8または10の場合:

ノードとnpmが既にインストールされていると仮定します。

私のノードとnpmバージョン(この回答を書いている時点):

ノード:8.9.4

npm:5.6.0

  1. 最初のインストール python 2.x

  2. パスで利用できることを確認してください

  3. インストール Visual Studio Installer

  4. インストール後、実行します

  5. 新しいインターフェイスが開き、さまざまなオプションを選択できます。
  6. 次に、使用可能なオプションからVisual Studio 2017のビルドツールを選択してインストールします。 Visual Studioをインストールする必要はありません。

enter image description here インストール後、完全に動作するはずです。

0
WitVault

windows build tools (グローバルnpmパッケージ)をインストールしてみてください

これで問題が解決します:-)後でnpm installコマンドを使用できるようになります。

0
EvilBurrito