GatsbyJS を使って構築したブログを yarn
コマンドでパッケージのインストールしなおしをしたところ、下記のようなエラーが出て失敗した。
bash1error /Users/killinsun/src/github.com/killinsun/gatsby-blog/node_modules/sharp: Command failed. 2Exit code: 1 3Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) 4Arguments: 5Directory: /Users/killinsun/src/github.com/killinsun/gatsby-blog/node_modules/sharp 6Output: 7info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.10.5/libvips-8.10.5-darwin-arm64v8.tar.br 8ERR! sharp Prebuilt libvips 8.10.5 binaries are not yet available for darwin-arm64v8 9info sharp Attempting to build from source via node-gyp but this may fail due to the above error 10
sharp
パッケージ内の下記コマンドに失敗したようである。
bash1Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy) 2
さらに読み進めると、 vips
ライブラリが存在していないことが原因で起こられていた。上記コマンド内でも node install/libvips
を叩いているので納得がいく。
bash1../src/common.cc:24:10: fatal error: 'vips/vips8' file not found 2#include <vips/vips8> 3 ^~~~~~~~~~~~ 41 error generated. 5make: *** [Release/obj.target/sharp/src/common.o] Error 1 6gyp ERR! build error 7gyp ERR! stack Error: `make` failed with exit code: 2 8gyp ERR! stack at ChildProcess.onExit (/Users/killinsun/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) 9gyp ERR! stack at ChildProcess.emit (node:events:527:28) 10gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12) 11gyp ERR! System Darwin 21.6.0 12gyp ERR! command "/Users/killinsun/.nvm/versions/node/v16.16.0/bin/node" "/Users/killinsun/.nvm/versions/node/v16.16.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 13gyp ERR! cwd /Users/killinsun/src/github.com/killinsun/gatsby-blog/node_modules/sharp 14
解決
macOS を使っている場合は brew
コマンドで vips
をインストールすれば解決した。
bash1% brew search vips 2ryota@rytake-mba-m2 gatsby-blog % brew search vips 3==> Formulae 4vips vip vis 5 6% brew install vips 7
sharp と vips について
sharp
sharp は npm 製ライブラリで、主に画像を変換、リサイズするためのパッケージらしい。
vips
libvips は画像処理パッケージ。メモリにやさしい。
今回のケースでいうと、sharp
が依存しているライブラリといったところ。
/ 以上
よかったらシェアしてください!