LoginSignup
4
2

More than 3 years have passed since last update.

[環境構築][Mac][GatsbyJS]画像サイズ変換モジュールsharpのインストールエラー対策

Posted at

半年ぶりにGatsbyJSを使ってブログをローカルで確認しようとしたところ、gatsby developを実行したところで大量のエラーが発生してしまいました。

対策として、libvipsのインストールとGatsbyJSおよびスターターキットで採用しているパッケージのアップデートを行うことで、エラーなくgatsby developを実行し、ブラウザからlocalhost:8000にアクセスできるようになりました。

対策に至るまでの過程で苦労したので、手順を残しておきます。

対策手順

  1. sharpモジュールのために必要なlibvipsbrew install vipsでインストール
  2. (エラーが出て止まってしまったらbrew doctorで対策コマンドを確認して実行し、再度brew install vips
  3. npm outdatedでアップデートが必要なバージョンを確認しpackage.jsonの各パッケージのバージョンを書き換える
  4. npm updateでアップデートする
  5. (必要に応じてnpm uninstall gatsby-cli -gnpm install gatsby-cli -ggatsby-cliを最新版にアップデートしてから再度npm updateを実行する)

当初は大量のエラーが出てくるので面食らいましたが、結局はlibvipsのインストールとpackage.jsonの書き換えによるGatsbyJSおよび各パッケージのアップデートを行うことで正常に動作できるようになりました。

ちなみにnpm outdatedを実行すると以下のようにバージョンを表示してくれます。

$ npm outdated
Package                          Current   Wanted   Latest  Location
gatsby-plugin-manifest           MISSING   2.2.29   2.2.29  gatsby-starter-blog
gatsby-image                      2.0.40   2.2.33   2.2.33  gatsby-starter-blog
gatsby-plugin-feed                 2.1.1   2.3.21   2.3.21  gatsby-starter-blog
gatsby-plugin-google-analytics    2.0.18   2.1.28   2.1.28  gatsby-starter-blog
gatsby-plugin-offline             2.0.25   2.2.10   3.0.22  gatsby-starter-blog
gatsby-plugin-react-helmet        3.0.12   3.1.15   3.1.15  gatsby-starter-blog
gatsby-plugin-sharp               2.0.35    2.3.2    2.3.2  gatsby-starter-blog
gatsby-plugin-typography          2.2.13   2.3.17   2.3.17  gatsby-starter-blog
gatsby-remark-copy-linked-files   2.0.12   2.1.30   2.1.30  gatsby-starter-blog
gatsby-remark-images               2.0.6    2.0.6   3.1.32  gatsby-starter-blog
gatsby-remark-prismjs              3.2.8   3.3.23   3.3.23  gatsby-starter-blog
gatsby-remark-responsive-iframe    2.1.1   2.2.27   2.2.27  gatsby-starter-blog
gatsby-remark-smartypants          2.0.9   2.1.16   2.1.16  gatsby-starter-blog
gatsby-source-filesystem          2.0.32   2.1.38   2.1.38  gatsby-starter-blog
gatsby-transformer-remark         2.3.12   2.6.37   2.6.37  gatsby-starter-blog
gatsby-transformer-sharp          2.1.18    2.3.5    2.3.5  gatsby-starter-blog
prettier                          1.17.0   1.19.1   1.19.1  gatsby-starter-blog
prismjs                           1.16.0   1.17.1   1.17.1  gatsby-starter-blog
react                             16.8.6  16.12.0  16.12.0  gatsby-starter-blog
react-dom                         16.8.6  16.12.0  16.12.0  gatsby-starter-blog
react-helmet                       5.2.0    5.2.1    5.2.1  gatsby-starter-blog
typeface-montserrat               0.0.54   0.0.54   0.0.75  gatsby-starter-blog

原因について

libvipsがインストールされていなかったこと(もしくはバージョンが古かったこと)と、sharpモジュールが要求するバージョンとGatsbyJSおよび各パッケージのバージョンの不一致によるビルドエラーが原因だったようです。

libvipsのインストールのあとは、上記のGatsbyJS公式を見て、そのまま実行するだけでした。

所感

環境構築関連の対策は振り返ればあっけない内容ですが、対策を行っている間は暗中模索の状態で不安や苛立ちが募ってしまいます。些細なことではありますが、こういった対策記事を積み重ねていこうと思います。

参考サイト

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2