M1のmacbook proに変えた。gridsomeのbuildが通らなかったのでメモ。nodeはnodenv環境。 おそらく、sharpを使っているnodeプロジェクトをApple Siliicon Macで動かすとき同じような問題にぶつかると思われる。
gridsomeが内部で使用している画像処理のlibraryのsharpがvipsを使っていて、それがintel用でおかしいぽいので、systemにarm64のものを入れてそっちを使うようにする。
brew install vips
再度実行すると、node-gypがpythonないよと言われる。 そういえばまだpython入れてないなということで。
brew install pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
Ref pyenv: Set up your shell environment for Pyenv
pyenv global 3.11.0
で実行したら以下
ValueError: invalid mode: 'rU' while trying to load binding.gyp
とのことなので、node-gyp用に pythonのglobalは3.9に変更
これでうまくいくかと思われたが、sharpでgifのloaderがコケてる。どうやら内部で古いsharp使ってるのをやめる。 Gridsome not properly installing on Mac M1 Monterey due to an old version of sharp #1596
package.jsonに追加
"resolutions": {
"gridsome/sharp": "0.29.3"
},
これして
yarn install
してok