gatsby-cli を macOS Catalina に入れようと思ったら手こずった話
October 26, 2020
最近、新しい macbook を使い始めたので、gatsby-cli を使えるようにしようと思ったら、手こずった話です。
筆者環境
- MacBook Pro (16-inch, 2019)
- macOS Catalina version 10.15.7
- node v15.0.1
”○○○“は、開発元を検証できないため開けません
Catalina からは一般的なアプリにデジタル署名と「公証(Notarization)」が必須となり、gatsby コマンドを実行しようとすると、
“sharp.node” は、開発元を検証できないため開けません
といったようなメッセージが表示される。
キャンセルして、
システム環境設定 —> セキュリティとプライバシー —> 一般 —> 常に許可
で1個ずつ許可できるが、gatsby-cli の場合、依存するプラグインが多すぎて、いちいち全部に許可することはやっていられない。
というわけで調べてみると、spctl で無効化できるらしい。
spctl コマンドに関しては以下。
$ man spctl...spctl manages the security assessment policy subsystem.This subsystem maintains and evaluates rules that determine whether the system allowsthe installation, execution, and other operations on files on the system....
・ダウンロードしたすべてのアプリケーションを許可する
$ sudo spctl --master-disable
これで、ダウンロードしたアプリに Apple の公証がなくても、確認なしで使えるようになった。
・「すべてのアプリケーションの実行を許可」を非表示にする(Catalina の初期設定に戻す)
$ sudo spctl --master-enable
Catalina 時代の「GateKeeper」と付き合う方法 - 新・OS X ハッキング!(257)
fatal error: ‘vips/vips8’ file not found
vips をインストールしないといけないみたい。
# libvipsのインストール(結構長い)brew install vips# node_modulesのクリアrm -rf ./node_modules
gridsome v0.7.11 で 「fatal error: ’vips/vips8’ file not found」が発生した際に対処した方法 - ざきの学習帳(旧 zackey 推し )
Error: Cannot find module @babel/compat-data/data/corejs3-shipped-proposals
$ gatsby developsuccess open and validate gatsby-configs - 0.050ssuccess load plugins - 8.239ssuccess onPreInit - 0.002ssuccess initialize cache - 0.015ssuccess copy gatsby files - 0.088ssuccess onPreBootstrap - 0.014ssuccess createSchemaCustomization - 0.005serror "gatsby-plugin-mdx" threw an error while running the onCreateNode lifecycle:Cannot find module '/path/to/node_modules/@babel/compat-data/data/corejs3-shipped-proposals'Error: Cannot find module '/path/to/node_modules/@babel/compat-data/data/corejs3-shipped-proposals'
package.json で @babel/preset-env
を 7.9.0 に固定
"@babel/preset-env": "=7.9.0"
これでうまく動いた。
CircleCI で Cannot find module ’@babel/compat-data/corejs3-shipped-proposals’ - Qiita
最後に
node のバージョン管理で使っている asdf の問題かと思って、nvm とかいろいろ試してみて、時間を溶かした。。orz