2

我正在尝试运行这个项目https://github.com/eLobato/cartodb-rb-client但显然我的 rvm 搞砸了或 pg 有一个可怕的错误。这是错误跟踪

/usr/bin/ruby1.8 -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb"
/home/daniel/.rvm/gems/ruby-1.9.2-p290@cartodb-rb-client/gems/pg-0.11.0/lib/pg_ext.so: [BUG] Segmentation fault
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

Aborted
rake aborted!
ruby -S bundle exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb" failed

Tasks: TOP => spec
(See full trace by running task with --trace)

分段故障线真的让我很烦恼,因为我试图重新安装 pg 无济于事。我正在运行 Ubuntu 11.10,并且我已经安装了 ruby​​ 1.9.2 和 1.8.7

有什么线索吗?

4

4 回答 4

2

我也有这个错误。通过删除我系统上安装的所有 Ruby 版本,然后重新安装 1.9.3 来修复它

像这样:

$ rvm remove all

$ rvm install ruby-1.9.3-p392

于 2013-05-13T17:33:17.993 回答
0

对我来说,这似乎是我的 Gemfile.lock 中的 pg gem 版本。我在那里有 0.13.2,但它似乎不适用于 Ruby 1.9.3。我跑了bundle update pg,得到了 0.14.0,然后事情就开始起作用了。

于 2012-07-15T03:44:44.383 回答
0

您正在运行一个系统 Ruby 1.8.7 解释器,但不知何故加载了一个pg安装在通过 rvm 安装的 Ruby 1.9.2 下的 gem。

Ruby 1.8.7 和 1.9.2 的 ABI 大不相同,因此它们的扩展不可互换。

于 2012-02-03T01:15:36.740 回答
-1

分段错误是,当程序访问内存时,内核不期望(索引不足,内存分配块不足等)。

当您尝试时,您会看到什么:

ruby -S bundle --trace exec rspec "./spec/model/data_spec.rb" "./spec/model/metadata_spec.rb" "./spec/model/scopes_spec.rb" "./spec/client_spec.rb"

作为回溯建议给你?

于 2011-12-06T12:20:35.203 回答