Ruby 2.6.5和PostgreSQL pg-gem分段错误

问题描述 投票:2回答:1

从控制台,我无法执行任何涉及数据库的操作。我遇到了细分错误。

.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/pg-1.1.4/lib/pg.rb:56: [BUG] Segmentation fault at 0x0000000000000110 ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]

实际上是可能需要数据库的任何操作,包括MyModel.new。

-- Control frame information ----------------------------------------------- c:0071 p:---- s:0406 e:000405 CFUNC :initialize c:0070 p:---- s:0403 e:000402 CFUNC :new c:0069 p:0016 s:0398 e:000397 METHOD /Users/xxx/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/pg-1.1.4/lib/pg.rb:56 c:0068 p:0107 s:0393 e:000392 METHOD /Users/xxx/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/activerecord-6.0.1/lib/active_record/connection_adapters/postgres

我已经卸载并重新安装了pg gem。并重建数据库。并重新启动PostgreSQL。

我见过其他人在Puma下运行时报告了问题,但是我的配置在Puma下运行,在控制台下失败!

为清楚起见进行编辑:

是,使用捆绑器。

使用rails cbundle exec rails c启动rails控制台具有相同的堆栈跟踪效果(段错误)。>>

Gemfile.lock具有pg (1.1.4)

我重新捆绑,指定捆绑路径。现在,堆栈跟踪具有该捆绑软件路径,因此我猜默认情况下捆绑软件使用的是rbenv路径。

从控制台,我无法执行任何涉及数据库的操作。我遇到了细分错误。 .rbenv / versions / 2.6.5 / lib / ruby​​ / gems / 2.6.0 / gems / pg-1.1.4 / lib / pg.rb:56:[BUG] ...

ruby postgresql ruby-on-rails-6
1个回答
6
投票

根据在问题的注释部分链接的https://github.com/ged/ruby-pg/issues/291,将gssencmode: disable添加到database.yml可以停止分段错误。我仅在developmenttest环境选项下添加了它,因为我不在其他环境中使用OS X:

© www.soinside.com 2019 - 2024. All rights reserved.