npm の gyp ERR! build error:原因と解決策
結論 gyp ERR! build error の build は、原因の名前ではありません。失敗したコマンドの名前です。node-gyp の実装は、処理が例外で終わったときに「そのコマンド名」と error をつないだ見出しを出します。だから configure error や install error も同じ書式で現れます。build と出ていれば、設定の段階は通っていて、組み立ての段階で落ちたという意味になります。 もう1つ押さえる点があります。この段階で node-gyp 自身が投げるエラーは、ほぼ1種類しかありません。実装では、呼び出した make か msbuild が 0 以外で終わったときに、終了コードをそのまま載せたエラーを作ります。つまり gyp ERR! stack の行は「外部のプロセスが失敗した」としか言っていません。 本当の原因は、その上にあります。組み立ての出力は node-gyp を素通りして画面に出るため、gyp ERR! の並びより前に、実際の失敗が文字として残っています。読む場所はそこです。 最初に確認すること gyp ERR! stack の1行目を見ます。 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 この形であれば、組み立てそのものが失敗しています。画面をさかのぼり、error: で始まる最初の行を探してください。複数並んでいても、最初の1件が起点です。 一方、1行目が次のような文であれば、失敗したのは組み立てではなく準備です。 gyp ERR! stack Error: Could not find *.sln file or Makefile. Did you run "configure"? gyp ERR! の末尾に並ぶ System、command、cwd、node -v、node-gyp -v の5行は、失敗のたびに必ず出る環境の記録です。原因は入っていません。ただし node -v の値は、次の原因1の判断に使います。 ...