Rspec:PG :: ConnectionBad:PQsocket()无法获取套接字描述符
我运行我的rspec,大部分测试都失败了。 我得到了同样的错误,这是:
Failure/Error: Unable to find matching line from backtrace ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor: BEGIN
我发现了一个类似于我的问题的问题,但是还没有答案,我也尝试过这个链接的解决方案,但它对我没有任何影响。 我打开我的测试控制台并运行一些最简单的查询,它工作正常。
pg: '0.18.1'
可能存在问题pg: '0.18.1'
。 我尝试恢复到0.18.0
,我相信这个问题已经消失了。
在本地测试之后,我会在回购中打开一个问题。 我在pg repo上添加了这个问题 。
编辑:我错了。 实际上有什么帮助,是安装spring-commands-rspec gem。 我认为最终为我做的是在一个有效的状态下缓存它。 虽然它也可以很容易地将其缓存在它没有的状态。
我不知道问题是否已经链接 – 但是我发现通过使用本地unix套接字文件而不是localhost,问题似乎已经消失了链接问题; 也许它也可以帮到你?
“Rake spec”在大多数测试中失败,但“rails s”在Diaspora源上工作正常
可能与rspec没有任何关系,但为了以防万一,将其丢弃。 我打了好几个星期,对我而言,这是乘客产生新流程的方式。 我只需要添加这个
# Rails -- prepared statements incompatible with faster spawn methods. PassengerSpawnMethod conservative
到\etc\apache2\mods-available\passenger.conf
https://www.phusionpassenger.com/library/indepth/ruby/spawn_methods/
我已经安装了'pg', '0.20.0'
,降级到0.19.0它对我有用。
我得到了同样的错误,以及一些其他错误,如PG::UnableToSend: socket not open
。 在随机时间看似错误。 我追查它,这实际上是由于一个模型有一个不正确的belongs_to
关联。 这可能不适用于您,但希望它可以帮助某人。
我有:
belongs_to :user, class_name: User
什么时候应该是:
belongs_to :user, class_name: 'User'
不知何故,一条线正在破坏我所有的PG套接字连接。