2022.1.29
Metabaseをローカルでデバッグしたく、フォーラムにトピックを立てて聞いてみました。するとこちらのDeveloper’s Guideページを教えてもらえました。
https://www.metabase.com/docs/latest/developers-guide/start.html
下記のDevelopment Environmentのページがデバッグ環境の構築っぽいのでこちらを進めてみます。
https://www.metabase.com/docs/latest/developers-guide/devenv.html
- a backend written in Clojure which contains a REST API as well as all the relevant code for talking to databases and processing queries.
バックエンドはClojureを使ったREST APIということらしいです。
- a frontend written as a Javascript single-page application which provides the web UI.
フロントエンドはSPAとのこと。ソースを見る限りReactを使っています。
Metabaseのrootディレクトリにて下記を実行してnpmモジュールをインストールします。
yarn install
clojure -M:run
でバックエンドサーバを起動するとのことなので実行してみると下記エラーが出ました。依存関係周りのエラー?のようです。
$ clojure -M:run
Downloading: robdaemon/clojure.java-time/0.3.3-SNAPSHOT/maven-metadata.xml from clojars
Downloading: org/clojure/clojure/maven-metadata.xml from central
Downloading: org/clojure/clojure/maven-metadata.xml from clojars
Error building classpath. The following libs must be prepared before use: [metabase/java-deps]
こちらのページに解決法がありました。下記コマンドを実行して解決しました。
$ clj -X:deps prep
Prepping metabase/java-deps in /metabase/java
warning: [options] bootstrap class path not set in conjunction with -source 8
yarn build-hot
でフロントエンドのビルドが走ります。
yarn build-hot
そして、http://localhost:3000/setup にアクセスするとMetabaseにアクセスできました。FrontendのJSを書き換えてリロードすれば反映されたので、ローカル開発環境としてはこれでOKです。