質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

npm install 実行時に[ gyp ERR! ]エラー

mmmmmr
mmmmmr

総合スコア16

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

2回答

0グッド

0クリップ

4309閲覧

投稿2020/05/08 08:50

Dockerを使用し環境構築を行っているのですが、
docker-compose up -dでコンテナを作成後、
docker run -it --rm -v $(pwd):/app -w /app node npm installコマンドで
npm installを実行した際に発生するエラーを解消できません。
どなたかご助力いただけないでしょうか。

#発生しているエラー

gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/app/node_modules/node-gyp/lib/build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12) gyp ERR! System Linux 4.19.76-linuxkit gyp ERR! command "/usr/local/bin/node" "/app/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library=" gyp ERR! cwd /app/node_modules/laravel-elixir/node_modules/node-sass gyp ERR! node -v v14.2.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok Build failed with error code: 1 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-sass@3.13.1 postinstall: `node scripts/build.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass@3.13.1 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2020-05-08T08_34_33_000Z-debug.log

#試したこと

  • package-lock.jsonファイルの削除
  • node_modulesの削除
  • docker run -it --rm -v $(pwd):/app -w /app node npm cache clean -fでキャッシュクリア

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

1

自分は試したことがないのですが、docker-compose.yaml にコンテナ上でNodeのバージョンを指定する方法があるようです。

https://qiita.com/ymasaoka/items/3f649c5413f98798d664#docker-compose-%E5%AE%9A%E7%BE%A9

これでコンテナ上のNodeのバージョンを決め打ちするのはどうでしょう。

投稿2020/05/09 00:41

編集2020/05/10 06:37
apprentice

総合スコア67

mmmmmr👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

mmmmmr

2020/05/12 11:44

返信が遅れて申し訳ありません。 こちらいろいろと試しているうちに、 ローカルのnodeとnpmのバージョンを変更することで解決できました。

1

ベストアンサー

根本的な解決ではないかもしれませんが、Nodeのバージョンをv10にスイッチするのはどうでしょうか。

自分も手元のv12でnode-gyp のエラーが頻発していて、バージョンを10にスイッチしたところ解決しました。

参考:
https://qiita.com/Gedyra/items/f48b5da64a761aa3e00f

投稿2020/05/08 12:02

apprentice

総合スコア67

mmmmmr👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

mmmmmr

2020/05/08 15:03

ご回答ありがとうございます。 ローカルで`nodebrew use v10.x.x`コマンドを実行して バージョン 指定はできるのですが、 `docker run -it --rm -v $(pwd):/app -w /app node -v ` で確認すると v14.2.0 のままとなってしまいます。 コンテナ内でnodeのバージョンを指定するにはどうしたらいいか、 もしご存知でしたらご教示いただければ幸いです…。
mmmmmr

2020/05/12 11:47

最終的にローカルのnodeをv10.16.0に、npmを6.14.2に指定し、 ローカルでnpm install することで解決しました。 ご助言いただきありがとうございました。
apprentice

2020/05/12 13:40

あまり大したヘルプにならず、すみませんでした。 問題解決よかったです!

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです