【发布时间】:2022-11-06 18:16:47
【问题描述】:
需要访问安装在 OS X Monterey 上的ffmpeg。项目流如此之大,以至于我错过了与 postgresql 相关的任何内容。
现在,rails 或 rake 命令不会启动
dlopen(/Users/deploy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/pg-1.4.1/lib/pg_ext.bundle, 0x0009): Library not loaded: /opt/homebrew/opt/postgresql/lib/libpq.5.dylib (LoadError)
Referenced from: /Users/deploy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/pg-1.4.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), '/opt/homebrew/Cellar/postgresql@14/14.5_4/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/deploy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/pg-1.4.1/lib/pg_ext.bundle
命令brew reinstall libpq 中断,因为
libpq is keg-only, which means it was not symlinked into /opt/homebrew,
because conflicts with postgres formula.
自制软件建议
To reinstall 14.5_4, run:
brew reinstall postgresql@14
当它运行时
You can migrate to a versioned data directory by running:
mv -v "/opt/homebrew/var/postgres" "/opt/homebrew/var/postgresql@14"
[...]
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql@14
For more details, read:
https://www.postgresql.org/docs/14/app-initdb.html
To restart postgresql@14 after an upgrade:
brew services restart postgresql@14
postgres@14 确实重启了Successfully started postgresql@14 (label: homebrew.mxcl.postgresql@14)
但是 rails 命令返回与上面相同的错误。
现在,目录可能已经丢失了现有的数据库?正如/opt/homebrew/opt 有
lrwxr-xr-x 1 deploy admin 30 Sep 21 16:12 postgresql -> ../Cellar/postgresql@14/14.5_4
lrwxr-xr-x 1 deploy admin 30 Sep 21 16:12 postgresql@14 -> ../Cellar/postgresql@14/14.5_4
它出现了文件的结构
确实通过在中间添加另一个目录来确认postgresql/lib/libpq.5.dylib 不存在。
卸载并重新安装 postgresql 不会改变这种行为,所以虽然 psql 可以被调用,但 rails 无法连接。
一个人如何摆脱这个循环?
【问题讨论】:
标签: postgresql homebrew