Gatsby.jsでCannot find module '../build/Release/sharp.node'エラーの解決策

Gatsby.jsでCannot find module '../build/Release/sharp.node'のエラーが発生したので、その対応方法をまとめました。

エラー内容

$ npm run develop

> sample_app@1.0.0 develop /app
> export NODE_ENV=development && gatsby develop -H 0.0.0.0

 ERROR

Error in "/app/node_modules/gatsby-plugin-manifest/gatsby-node.js":
Something went wrong installing the "sharp" module

Cannot find module '../build/Release/sharp.node'
Require stack:
- /app/node_modules/sharp/lib/constructor.js
- /app/node_modules/sharp/lib/index.js
- /app/node_modules/gatsby-plugin-manifest/safe-sharp.js
- /app/node_modules/gatsby-plugin-manifest/gatsby-node.js
- /app/node_modules/gatsby/dist/bootstrap/resolve-module-exports.js
- /app/node_modules/gatsby/dist/bootstrap/load-plugins/validate.js
- /app/node_modules/gatsby/dist/bootstrap/load-plugins/load.js
- /app/node_modules/gatsby/dist/bootstrap/load-plugins/index.js
- /app/node_modules/gatsby/dist/bootstrap/load-config-and-plugins.js
- /app/node_modules/gatsby/dist/services/initialize.js
- /app/node_modules/gatsby/dist/services/index.js
- /app/node_modules/gatsby/dist/state-machines/develop/services.js
- /app/node_modules/gatsby/dist/state-machines/develop/index.js
- /app/node_modules/gatsby/dist/commands/develop-process.js
- /app/.cache/tmp-151-kWSQylcbIxhO

- Remove the "node_modules/sharp" directory then run
  "npm install --ignore-scripts=false --verbose sharp" and look for errors
- Consult the installation documentation at https://sharp.pixelplumbing.com/install
- Search for this error at https://github.com/lovell/sharp/issues

Error: Something went wrong installing the "sharp" module
  Cannot find module '../build/Release/sharp.node'
  Require stack:
  - /app/node_modules/sharp/lib/constructor.js
  - /app/node_modules/sharp/lib/index.js
  - /app/node_modules/gatsby-plugin-manifest/safe-sharp.js
  - /app/node_modules/gatsby-plugin-manifest/gatsby-node.js
  - /app/node_modules/gatsby/dist/bootstrap/resolve-module-exports.js
  - /app/node_modules/gatsby/dist/bootstrap/load-plugins/validate.js
  - /app/node_modules/gatsby/dist/bootstrap/load-plugins/load.js
  - /app/node_modules/gatsby/dist/bootstrap/load-plugins/index.js
  - /app/node_modules/gatsby/dist/bootstrap/load-config-and-plugins.js
  - /app/node_modules/gatsby/dist/services/initialize.js
  - /app/node_modules/gatsby/dist/services/index.js
  - /app/node_modules/gatsby/dist/state-machines/develop/services.js
  - /app/node_modules/gatsby/dist/state-machines/develop/index.js
  - /app/node_modules/gatsby/dist/commands/develop-process.js
  - /app/.cache/tmp-151-kWSQylcbIxhO
  - Remove the "node_modules/sharp" directory then run
    "npm install --ignore-scripts=false --verbose sharp" and look for errors
  - Consult the installation documentation at https://sharp.pixelplumbing.com/install
  - Search for this error at https://github.com/lovell/sharp/issues

  - constructor.js:32 Object.<anonymous>
    [app]/[sharp]/lib/constructor.js:32:9

  - v8-compile-cache.js:192 Module._compile
    [app]/[v8-compile-cache]/v8-compile-cache.js:192:30

  - loader.js:1158 Object.Module._extensions..js
    internal/modules/cjs/loader.js:1158:10

  - loader.js:986 Module.load
    internal/modules/cjs/loader.js:986:32

  - loader.js:879 Function.Module._load
    internal/modules/cjs/loader.js:879:14

  - loader.js:1026 Module.require
    internal/modules/cjs/loader.js:1026:19

  - v8-compile-cache.js:159 require
    [app]/[v8-compile-cache]/v8-compile-cache.js:159:20

  - index.js:3 Object.<anonymous>
    [app]/[sharp]/lib/index.js:3:15

  - v8-compile-cache.js:192 Module._compile
    [app]/[v8-compile-cache]/v8-compile-cache.js:192:30

  - loader.js:1158 Object.Module._extensions..js
    internal/modules/cjs/loader.js:1158:10

  - loader.js:986 Module.load
    internal/modules/cjs/loader.js:986:32

  - loader.js:879 Function.Module._load
    internal/modules/cjs/loader.js:879:14

  - loader.js:1026 Module.require
    internal/modules/cjs/loader.js:1026:19

  - v8-compile-cache.js:159 require
    [app]/[v8-compile-cache]/v8-compile-cache.js:159:20

  - safe-sharp.js:132 Object.<anonymous>
    [app]/[gatsby-plugin-manifest]/safe-sharp.js:132:11

  - v8-compile-cache.js:192 Module._compile
    [app]/[v8-compile-cache]/v8-compile-cache.js:192:30


not finished open and validate gatsby-configs, load plugins - 3.731s

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sample_app@1.0.0 develop: `export NODE_ENV=development && gatsby develop -H 0.0.0.0`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sample_app@1.0.0 develop 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/2021-07-11T07_38_58_873Z-debug.log

解決方法

下記ディレクトリを一度削除し、もう一度起動するとエラーが解消されました。

$ rm -rf ./.cache ./public ./node_modules
$ npm run develop

プログラミングにオススメの本

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座

仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん

プログラミングの記事

Dockerfileで「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生した時の対処方法

#Docker#Docker Compose#Linux#プログラミング

Dockerfileで相対パスを指定すると「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生したので、その対応方法をまとめました。

Slack API chat.postMessageで改行を利用する方法

#プログラミング#JavaScript#Slack#API

Slack API「chat.postMessage」を利用して、JavaScriptからSlackへ改行入りのメッセージを送信しました。しかし、上手く反映されないので対応方法をまとめました。

CSSでimgのhoverのafterでtransitionが効かない時の対処法

#プログラミング#HTML#CSS#React.js#Gatsby.js#styled-components

CSSで、imgのhoverのafterでtransitionが効かない時があったので、その原因と対処方法をまとめました。styled-componentsを利用しているので、コピペでそのまま使えます。

SlackとGitHubのWebhook連携で400エラー(no_text)

#Service#GitHub#Slack

SlackとGitHubのWebhook連携すると、400エラー(no_text)が発生するので、解決方法をまとめました。

gatsby-node.jsでGatsbyImageを利用する方法

#JavaScript#React.js#Gatsby.js#Node.js#npm#プログラミング

gatsby-node.jsでGatsbyImageを使った時、エラーになったためその対応方法をまとめました。

関連記事

SES会社へ就職する5つのメリット

#SES#駆け出しエンジニア#プログラミング#IT業界#就職#転職

私がSES会社で働いているときに、感じたメリットを説明します。

IT業界への就職のために、資格は勉強してはいけない

#駆け出しエンジニア#プログラミング#IT業界#転職#就職

IT業界を目指す時、先に資格を勉強する人がいます。あまりオススメをしないので、その理由を説明します。

未経験で入社したSES会社での給与明細を2社公開

#SES#駆け出しエンジニア#プログラミング#IT業界#就職#転職#給料

未経験で入社した時の給与明細を公開します。3年間で経験した2社を公開しています。

gatsby.jsのMDXProviderでMDXRendererのカスタマイズする方法

#JavaScript#React.js#Gatsby.js#Node.js#npm#プログラミング

react.js/gatsby.jsのMDXProviderでMDXRendererで表示するマークダウンをカスタマイズして表示したかったので、その方法をまとめました。

Dockerfileで「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生した時の対処方法

#Docker#Docker Compose#Linux#プログラミング

Dockerfileで相対パスを指定すると「ERROR: Service 'サービス名' failed to build: OCI runtime create failed: invalid mount」が発生したので、その対応方法をまとめました。

新着記事

SESエンジニアの引き抜き時の魅力的な高条件

#キャリア#転職#SES

SES(客先常駐)をしていると、優秀なエンジニアは引き抜き行為(スカウト)を他社からいただくことがあります。この引き抜き時の条件提示は衝撃的な高待遇が多く、その内容を紹介します。

エンジニアがノイズキャンセリングイヤホンを使うと劇的に世界が変わった

#ガジェット#イヤホン#Apple AirPods Pro

エンジニアには集中する時間が必須で、その時間を維持するには雑音を消す必要があります。そんな時、ノイズキャンセリングイヤホンのApple AirPods Proを手に入れると世界が劇的に変化しました。

Slack API chat.postMessageで改行を利用する方法

#プログラミング#JavaScript#Slack#API

Slack API「chat.postMessage」を利用して、JavaScriptからSlackへ改行入りのメッセージを送信しました。しかし、上手く反映されないので対応方法をまとめました。

企業は面接で意識高い系エンジニアを採用してはいけない

#経営#ビジネス#採用#転職#面接#意識高い系

会社や組織は、意識高い系エンジニアに内定を出すことはしっかりと考えた方がいいでしょう。もし採用すると会社に悪影響を及ぼす可能性があります。その事例を紹介します。

Gatsby.jsでCannot find module '../build/Release/sharp.node'エラーの解決策

#JavaScript#React.js#Gatsby.js#Node.js#npm#Docker#プログラミング

Gatsby.jsで`Cannot find module '../build/Release/sharp.node'`のエラーが発生したので、その対応方法をまとめました。

オススメの記事

SES(客先常駐)で市場価値が下がるエンジニアの特徴

#SES#転職#給料#キャリア##実態

数々のSES企業を見てきましたが、いくつか共通する、市場価値が下がるエンジニアの特徴を紹介します。

未経験からSES(客先常駐)エンジニアに転職して体験した実態と闇

#SES#転職##実態

未経験からSES(客先常駐)に転職をして、エンジニアになった方々から体験した実態と闇をお聞きしました。

求人で「フラットでアットホーム」なIT企業へ入社する時の注意

#経営#組織#駆け出しエンジニア#就職#転職#SES

「フラットでアットホーム」と宣伝している会社が多く存在します。しかし、その表現には、大きな落とし穴があります。

未経験からエンジニアになるために必要なお金

#駆け出しエンジニア#プログラミングスクール#面接

未経験エンジニア向けのビジネスが最近展開されています。一体どれくらいかければエンジニアになれるのか計算しました。

未経験から独学(スクール)でエンジニアになれる人となれない人の違い

#駆け出しエンジニア#プログラミングスクール#面接

未経験から独学(スクール含む)でエンジニアを目指す人が多いです。しかし、全員がエンジニアになれるわけではありません。なれる人となれない人の違いを説明します。

勉強や開発をするための時間を確保する方法

#駆け出しエンジニア#リモートワーク#在宅勤務#ガジェット#時間#勉強

みなさんは普段開発の時間を確保できていますか?駆け出しエンジニアの方でも、日々、時間の確保に苦労していると思います。今回は、社会人で時間の確保をするための方法を紹介します。

リモートワークエンジニアの平日の1日のルーティーン

#ルーティーン#リモートワーク#在宅勤務

コロナ禍による影響で、会社がフルリモートワークとなりました。その優雅なエンジニアのルーティーンを紹介します。

会社のリモートワークで帰属意識が下がる「してはいけない」こと

#リモートワーク#在宅勤務#離職

最近、リモートワークが導入されることが多くなり、日本でも一般的な働き方となりました。しかし、当記事の内容を続けてしまうと、帰属意識が低くなり、離職率をあげてしまう可能性が高いです。