2017-11-29 15 views
1

この問題はすべてのプロジェクトで発生するとは思われません。特にnpm i(ノードv6.9.4(npm v5.6.0)<)を実行するとこの問題が発生します。必ずこれは)右にある場合:node-gyp rebuild issueコンパイラ

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__threading_support:25:11: fatal error: 
      'pthread.h' file not found 
    # include <pthread.h> 

エラーログ:

12788 verbose stack Error: [email protected] install: `node-gyp rebuild` 
12788 verbose stack Exit status 1 
12788 verbose stack  at EventEmitter.<anonymous> (/Users/tom.firth/.nvm/versions/node/v6.9.4/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16) 
12788 verbose stack  at emitTwo (events.js:106:13) 
12788 verbose stack  at EventEmitter.emit (events.js:191:7) 
12788 verbose stack  at ChildProcess.<anonymous> (/Users/tom.firth/.nvm/versions/node/v6.9.4/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 
12788 verbose stack  at emitTwo (events.js:106:13) 
12788 verbose stack  at ChildProcess.emit (events.js:191:7) 
12788 verbose stack  at maybeClose (internal/child_process.js:877:16) 
12788 verbose stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 
12789 verbose pkgid [email protected] 
12790 verbose cwd /Users/tom.firth/Sites/the-works 
12791 verbose Darwin 16.7.0 
12792 verbose argv "/Users/tom.firth/.nvm/versions/node/v6.9.4/bin/node" "/Users/tom.firth/.nvm/versions/node/v6.9.4/bin/npm" "i" 
12793 verbose node v6.9.4 
12794 verbose npm v5.6.0 
12795 error code ELIFECYCLE 
12796 error errno 1 
12797 error [email protected] install: `node-gyp rebuild` 
12797 error Exit status 1 
12798 error Failed at the [email protected] install script. 
12798 error This is probably not a problem with npm. There is likely additional logging output above. 
12799 verbose exit [ 1, true ] 

これらの両方のポイントのnode-gyp rebuildに - 私は、これは以前にグローバルにインストール持っていなかったが、私はでそれを試してみたし、同じエラーがなくても取得できます。

私はXcodeの9.1がインストールされていると走っ: $ xcode-select --install を与える:xcode-select: error: command line tools are already installed, use "Software Update" to install updates

を私はステップに従っ:npmjs.com/fixing-npm-permissions与え

$ gcc --version

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 9.0.0 (clang-900.0.38) 
Target: x86_64-apple-darwin16.7.0 
Thread model: posix 
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

$ which gcc を与えます: /usr/bin/gcc

node-gyp問題は、私はそれがコンパイラに関連すると思うなりますが、私は(醸造とnodejs.org経由)Xcodeとノードを再インストールした

すべてのヘルプや提案は本当にいただければ幸いです。

編集:

5.6.0は明らかに右ではなかったので、私は、NPM 3.10.10を試してみました。これは以前にインストールされていて問題を解決しませんでした。

xcode 9.1に置き換えてxcode 8.2.1をインストールしましたが、これで問題は解決されませんでした。

答えて

1

基本的にはlibtoolをインストールする必要があります。これは私がbcryptを使用していたときと同じ問題でした。それがうまくいかない場合は、thisをご覧ください。

また、サポートされているPythonのバージョンが2.7であることを確認してください。最新の3.xはまだnode-gypのドキュメントに従ってサポートされていません。このnode Js Workshopは、gypについての詳細を議論します。

+0

libtoolが既にインストールされています。 pythonのデフォルトは2.7.10に設定されています ノードjsワークショップをチェックアウトします。ありがとうございます。 – TomFirth

0

解決策が何であるかは完全にはわかりません。

  1. xcode 8.2.1(9.1からダウン)がインストールされました。私はこれを前に試してみましたが、 これは最初は動作しませんでした。
  2. Iは、手動で( xcode-select --installない介して)(Library/Developer/CommandLineTools このインストールの前または後に存在しなかった)commandlinetoolsインストール - xcode-select -p はdirが存在していなかったにもかかわらずも commandlinetoolsにXcodeのをポイントからのパスを変更しました。
  3. その後、Xcode8.2をインストールしました。1、xcode-selectのパスは自動的に がリセットなしに変更されました(xcode-select --reset)

この後、私の問題は解決しました。

+0

'xcode-select'は、Cコンパイラ、Pythonライブラリ、その他様々なコマンドラインツールのように、node-gypに必要な多くのツールをインストールします。 –