【问题标题】:Server at (localhost:27017) reports wire version (4), but this version of the Ruby driver requires at least (6)(localhost:27017) 的服务器报告有线版本 (4),但此版本的 Ruby 驱动程序至少需要 (6)
【发布时间】:2022-01-07 18:58:18
【问题描述】:

位于 (localhost:27017) 的服务器报告有线版本 (4),但此版本的 Ruby 驱动程序至少需要 (6)。

我正在使用 ubuntu 16.04 和 ruby​​ -v 3.0.2 轨道 6.1.4.1

它不会从数据库中插入和获取数据

【问题讨论】:

  • 我认为问题在于您的数据库服务器使用的是有线版本 4,但您的数据库驱动程序使用的是有线版本 6,正如错误消息所述。
  • 尝试添加一些截图和一些具体问题。即“如何解决以下错误?....”

标签: ruby-on-rails ruby ruby-on-rails-6


【解决方案1】:

我遇到了同样的问题。这个错误是由 line 71 的 Mongo-Ruby-Driver 引发的。

错误表明 Mongo-Ruby-Driver 与您正在运行的 MongoDB 不兼容。 我正在运行 3.2 版的 MongoDB,并将其更新到 5.0.5,这就像一个魅力。

这是我采取的步骤:

ps ax | grep mongo

用你的 Mongo 进程 ID 更改 processID:

kill -9 processID

安装最新的MongoDB并取消链接旧版本:

brew install mongodb-community
brew unlink mongodb-community@3.2

更新 LaunchAgent:

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist

如果需要,更新 .zshrc:

echo 'export PATH="/usr/local/opt/mongodb-community/bin:$PATH"' >> ~/.zshrc

链接并启动 MongoDB:

brew link mongodb-community
brew services restart mongodb-community

启动 MongoDB:

mongod --dbpath ~/data/db
# Make sure you have access rights to ~/data/db directory.

如果您收到此错误:

Failed to unlink socket file","attr":{"path":"/tmp/mongodb-27017.sock","error":"Permission denied"}}

您可以通过删除此文件来修复它:

sudo rm -rf /tmp/mongodb-27017.sock

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-17
    • 2018-06-12
    • 1970-01-01
    • 2016-01-30
    • 2013-04-04
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多