何が起きたのか
PostgreSQLが立ち上がらなくなってしまったので、再度インストールし直した後rails db:prepare
を実行したところ、以下のようなエラーが発生した。
rails aborted!
LoadError: dlopen(/Users/xxx/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/pg-1.3.1/lib/pg_ext.bundle, 0x0009): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib
Referenced from: /Users/xxx/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/pg-1.3.1/lib/pg_ext.bundle
Reason: tried: '/opt/homebrew/opt/postgresql/lib/libpq.5.dylib' (no such file), '/usr/local/lib/libpq.5.dylib' (no such file), '/usr/lib/libpq.5.dylib' (no such file) - /Users/xxx/.rbenv/versions/3.1.0/lib/ruby/gems/3.1.0/gems/pg-1.3.1/lib/pg_ext.bundle
エラーの内容としては、以下のファイルがディレクトリ内になくて実行できないとのこと
原因
PostgreSQLを再度インストールしたときにバージョンが上がってしまったことにより、PostgreSQLディレクトリのパスが/opt/homebrew/opt/postgresql@14/
変更されてしまったこと。
🍒~$ ls /opt/homebrew/opt/postgresql@14/lib/postgresql@14
_int.so hstore_plperl.so libpq.dylib refint.so
adminpack.so insert_username.so libpqwalreceiver.so seg.so
amcheck.so isn.so lo.so sslinfo.so
auth_delay.so jsonb_plperl.so ltree.so tablefunc.so
auto_explain.so latin2_and_win1250.so moddatetime.so tcn.so
autoinc.so latin_and_mic.so old_snapshot.so test_decoding.so
bloom.so libecpg.6.14.dylib pageinspect.so tsm_system_rows.so
bool_plperl.so libecpg.6.dylib passwordcheck.so tsm_system_time.so
btree_gin.so libecpg.a pg_buffercache.so unaccent.so
btree_gist.so libecpg.dylib pg_freespacemap.so utf8_and_big5.so
citext.so libecpg_compat.3.14.dylib pg_prewarm.so utf8_and_cyrillic.so
cube.so libecpg_compat.3.dylib pg_stat_statements.so utf8_and_euc2004.so
cyrillic_and_mic.so libecpg_compat.a pg_surgery.so utf8_and_euc_cn.so
dblink.so libecpg_compat.dylib pg_trgm.so utf8_and_euc_jp.so
dict_int.so libpgcommon.a pg_visibility.so utf8_and_euc_kr.so
dict_snowball.so libpgcommon_shlib.a pgcrypto.so utf8_and_euc_tw.so
dict_xsyn.so libpgfeutils.a pgoutput.so utf8_and_gb18030.so
earthdistance.so libpgport.a pgrowlocks.so utf8_and_gbk.so
euc2004_sjis2004.so libpgport_shlib.a pgstattuple.so utf8_and_iso8859.so
euc_cn_and_mic.so libpgtypes.3.14.dylib pgxml.so utf8_and_iso8859_1.so
euc_jp_and_sjis.so libpgtypes.3.dylib pgxs utf8_and_johab.so
euc_kr_and_mic.so libpgtypes.a pkgconfig utf8_and_sjis.so
euc_tw_and_big5.so libpgtypes.dylib plperl.so utf8_and_sjis2004.so
file_fdw.so libpq.5.14.dylib plpgsql.so utf8_and_uhc.so
fuzzystrmatch.so libpq.5.dylib pltcl.so utf8_and_win.so
hstore.so libpq.a postgres_fdw.so uuid-ossp.so
解決策
pg
をアンインストールした後、再度インストールする
gem uninstall pg
bundle install