Metabaseをローカルでデバッグする

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

Metabaseのアーキテクチャ概要

  1. 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ということらしいです。

  1. a frontend written as a Javascript single-page application which provides the web UI.

フロントエンドはSPAとのこと。ソースを見る限りReactを使っています。

3rd party dependencies

Metabaseのrootディレクトリにて下記を実行してnpmモジュールをインストールします。

yarn install

Development server (quick start)

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です。

https://user-images.githubusercontent.com/1194571/151662792-abb79166-db17-45bf-879b-27f75e8c83d9.png

© 2019-2022 kwst.site.