注意:Debian 12の代わりにUbuntu 24.10を使ってください。curlのバグでuserverは動作しません。
以下動作させられなかったメモ
gitとbuild-essentialをインストール。
大体Configure, Build and Install通りだけどpostgresを使うため1は以下のようにする必要がある。
$ git clone --depth 1 https://github.com/userver-framework/pg_service_template.git && \
$ git clone --depth 1 https://github.com/userver-framework/userver.git pg_service_template/third_party/userver && \
cd pg_service_template
依存関係インストールのところも、Dockerを使わないなら以下のようにする必要がある。
sudo apt install ccache cmake git libbenchmark-dev libboost-filesystem1.81-dev libboost-iostreams1.81-dev libboost-locale1.81-dev \
libboost-program-options1.81-dev libboost-regex1.81-dev libboost-stacktrace1.81-dev libboost1.81-dev libbson-dev libc-ares-dev \
libcctz-dev libcrypto++-dev libcurl4-openssl-dev libev-dev libfmt-dev libgmock-dev libgrpc-dev libgrpc++-dev libgrpc++1.51 libgtest-dev \
libhiredis-dev libjemalloc-dev libkrb5-dev libldap2-dev librdkafka-dev librocksdb-dev libmongoc-dev libnghttp2-dev libpq-dev libpugixml-dev \
libprotoc-dev libssl-dev libsasl2-dev libyaml-cpp-dev netbase ninja-build postgresql-15 postgresql-server-dev-15 protobuf-compiler-grpc python3-dev \
python3-jinja2 python3-protobuf python3-venv python3-voluptuous python3-yaml redis-server zlib1g-dev
そしてmake
を行えばサービスが立ち上がるはず。
「エラー:ロケール名”en_US.UTF-8″は不正です」と出る
en_US.UTF-8のロケールがインストールされていないので、sudo dpkg-reconfigure locales
から設定を変更してインストールしましょう。デフォルトは変える必要ありません。
curlのバージョンが~と出る
Debian 12ではHTTP/2の実装にバグのあるバージョンのlibcurlしか提供されていないので、大人しくUbuntu 24.10に乗り換えましょう。
postgreがないといわれる
postgresqlがインストールできていない場合があるので、sudo apt install postgresql
でインストールしましょう。Ubuntuでのpostgresのセットアップは公式ドキュメントを読みましょう(他ディストリとは方法が異なります。)