Open6

Fedora 38でplpgsql-lspを動かす

tkktkk

plpgsql-lsp

PostgreSQLで利用可能な組み込み言語plpgsqlのLSP。私が愛用しているneovimで使おうとしたところ、起動できなかったので、試行錯誤のメモを残す。コミットしたい。

https://github.com/UniqueVision/plpgsql-lsp

tkktkk

サーバーのセットアップ

私の環境は以下。

uname -a
Linux ser5-dev 6.5.6-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Oct  6 19:02:35 UTC 2023 x86_64 GNU/Linuxcat /etc/fedora-release
Fedora release 38 (Thirty Eight)node -v
v18.18.2

本来なら以下のコマンドで起動可能なサーバーが手に入るはず。

npm install

しかし、npm install でエラーが出てしまい失敗してしまう。

npm ERR! g++: 致命的エラー: 環境変数 ‘RPM_ARCH’ が定義されていません
npm ERR! コンパイルを停止しました。
npm ERR! make: *** [addon.target.mk:164: Release/obj.target/addon.node] エラー 1
npm ERR! gyp ERR! build error
tkktkk

npm installエラーの解決

以下の環境変数を定義するとnpm installが通るようになる。

export RPM_ARCH=$(uname -m)
export RPM_PACKAGE_RELEASE=1.0
export RPM_PACKAGE_VERSION=1.0
export RPM_PACKAGE_NAME=plpgsql-lsp
tkktkk

libpg-queryまわりでエラーが出た

2回目のトライではエラー無くnpm run buildが通ってしまったが、libpg-queryのファイルが足りずエラーになってしまったことがあった。その時には以下のコマンドで解決できた。

cd server/node_modules/libpg-query/
npm run binary:build