我正在尝试运行这个项目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
有任何线索吗?
答案 0 :(得分:2)
我也有这个错误。修复了我删除系统上安装的所有Ruby版本,然后重新安装1.9.3
的问题像这样:
$ rvm remove all
$ rvm install ruby-1.9.3-p392
答案 1 :(得分:0)
您正在运行系统Ruby 1.8.7解释器,但以某种方式加载通过rvm安装在Ruby 1.9.2下安装的pg
gem。
Ruby 1.8.7和1.9.2具有截然不同的ABI,因此它们的扩展不可互换。
答案 2 :(得分:0)
对我来说,它似乎是我的Gemfile.lock中的pg gem的版本。我在那里有0.13.2,它似乎不适用于Ruby 1.9.3。我跑了bundle update pg
并获得了0.14.0,然后事情就开始了。
答案 3 :(得分:-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"
作为回溯建议给你?