首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres.app升级,现在Rails应用程序无法启动

Postgres.app升级,现在Rails应用程序无法启动
EN

Stack Overflow用户
提问于 2013-05-20 14:37:48
回答 2查看 1.3K关注 0票数 3

我刚刚将Postgres.app升级到最新版本(9.2.4.1),现在无法使用Foreman或Rails服务器启动Rails应用程序。

/Users/memoht/Sites/myapp/.gem/ruby/1.9.3/gems/pg-0.15.1/lib/pg.rb:4:in `require': dlopen(/Users/memoht/Sites/myapp/.gem/ruby/1.9.3/gems/pg-0.15.1/lib/pg_ext.bundle, 9): Library not loaded: @executable_path/../lib/libssl.1.0.0.dylib (LoadError)

Referenced from: /Applications/Postgres.app/Contents/MacOS/lib/libpq.dylib

Reason: image not found - /Users/memoht/Sites/myapp/.gem/ruby/1.9.3/gems/pg-0.15.1/lib/pg_ext.bundle

  • 通过Postgres.app文档观察
  • 从9.2.2.0升级到9.2.4.1并不是一个新的次要版本,所以不应该涉及pg_upgrade
  • .bashrc有正确的路径PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"设置
  • 卸载,并重新安装PG宝石。
  • 我犯了一个错误,认为我需要通过自制软件安装PostGIS,但这会自动通过Brew安装Postgres,加上大量的其他依赖项。

如果我将Postgres.app版本切换回9.2.2.0,一切都会再次正常工作。既然Postgres.app是一个拖放安装,为什么要从9.2.2.0升级到9.2.4.1?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-24 17:33:16

我找到了一个适合我的解决方案,并且只需要最少的黑客/配置。您只需要这样做一次,它将适用于每个包安装。将以下内容添加到您的.bash_profile、.bash_rc或等效项中:

代码语言:javascript
复制
export DYLD_FALLBACK_LIBRARY_PATH=/Applications/Postgres.app/Contents/MacOS/lib:$DYLD_LIBRARY_PATH

(假设您在默认位置安装了Postgres.app )。然后重新启动终端会话,然后再试一次。

直接导出到DYLD_LIBRARY_PATH可能会给依赖它的其他应用程序带来严重的问题,但是使用回退路径可以避免这些问题。

另请参阅:

编辑:在尝试运行psql时,设置DYLD_FALLBACK_LIBRARY_PATH似乎会导致错误。要解决这个问题,可以将以下两行添加到.bash_profile中:

代码语言:javascript
复制
alias psql="(. ~/.bash_profile; unset DYLD_FALLBACK_LIBRARY_PATH; psql)";

这是假设您正在使用bash,并且您的.bash_profile位于您的主目录中。如果情况并非如此(或者使用的是.bashrc或其他环境设置而不是.bash_profile),则将命令的~/.bash_profile部分更改为环境设置脚本的路径。

别名命令基本上启动一个子subshell,它不会影响您当前的bash环境。因此,当它卸载DYLD_FALLBACK_LIBRARY_PATH变量时,它只是临时的。退出psql后,将再次设置环境变量,以便rails正常工作。

票数 6
EN

Stack Overflow用户

发布于 2013-05-20 15:23:35

很可能你的应用程序中的pg宝石是针对旧库构建的。尝试针对新的Postgres.app重新构建它:

代码语言:javascript
复制
$ gem uninstall pg
[...]
$ bundle install
[...]
"installing pg" (or something..)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16651897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档