postgres 和 Unicorn 服务器的问题

Problems with postgres and Unicorn server

当我在设置 postgres(与 Trinidad and Thin 完美配合)后尝试 运行 Unicorn 时,出现以下错误。

dyld: lazy symbol binding failed: 
Symbol not found: _rb_thread_select 
Referenced from:/Users/pls/.rvm/gems/ruby-2.2.0@coinino/extensions/x86_64-darwin-13/2.2.0/do_postgres-0.10.14/do_postgres/do_postgres.bundle
  Expected in: flat namespace

Datamapper 通常在 model.rb 中连接到数据库,然后在 app.rb 中需要它。

出了什么问题,我该如何解决?

编辑:看起来这是 Ruby 2.2.0 中的错误。

这似乎是 Ruby 2.2.0 中的错误。转到 Ruby 2.1.5 让事情顺利进行。

旧版本 pg gem 使用的调用已在 Ruby 2.2 中删除。 gem 的较新版本不再使用此调用;我知道最新版本 (0.18.1) 没有,但我不知道何时进行了更改。您可以通过 运行 执行以下命令来更新 pg gem:

bundle update pg

只要您这样做,您可能希望 运行 只是一个简单的 bundle update 将您项目的所有 gem 更新到最新版本——谁知道还有什么可能与 Ruby 2.2 不兼容吗?

与更新依赖项时一样,在将新版本部署到生产环境之前测试更新是否不会引入任何新错误。我怀疑 pg 会导致任何问题,但其他 gem 可能会导致问题。