首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails mysql2,未定义的方法“接受”用于rake :mysql2上的nil:NilClass

Rails mysql2,未定义的方法“接受”用于rake :mysql2上的nil:NilClass
EN

Stack Overflow用户
提问于 2019-05-31 18:23:18
回答 1查看 333关注 0票数 0

因此,我在一个Rails应用程序中工作,它在Gemfile中有以下内容:

宝石‘mysql2 2’,'< 0.4‘

我接着做了以下工作:

  • 捆绑安装
  • rake db:创建

从这里我得到

安装mysql2 (0.3.21)时发生错误,绑定程序无法继续。

所以我更新到

宝石‘mysql2 2’,'~> 0.4.10‘

运行bundle安装和rake db:create。

所以我最后

LoadError:请安装mysql2适配器:gem install activerecord-mysql2-adapter (不能激活mysql2 (~> 0.3.10),已经激活了mysql2-0.4.10 )。确保所有依赖项都添加到Gemfile中。) Gem::LoadError:无法激活mysql2 (~> 0.3.10),已经激活mysql2-0.4.10。确保所有依赖项都添加到Gemfile中。

从这里开始,如果我尝试rails控制台,我将得到以下结果:

block (2 levels) in replace_gem': Please install the mysql2 adapter: gem安装activerecord- mysql2 2-适配器`(无法激活mysql2 (~> 0.3.10),已经激活了mysql2-0.4.10 )。确保所有依赖项都添加到Gemfile中。)(LoadError)

因此,我更新我的have文件如下:

gem‘mysql2 2’,'~> 0.4.10‘gem’activerecord-mysql2 2-适配器‘

Rails控制台工作,但rake db:

拉克流产了!NoMethodError:对于nil:NilClass的未定义方法“`accept”

我找到的所有解决方案都是删除activerecord-mysql2适配器.而这不起作用。

作为参考,我使用:Ruby2.3.5,rails 3.2.22.5

EN

回答 1

Stack Overflow用户

发布于 2019-05-31 18:47:14

如果您使用的是过时的Rails版本(而且3.2非常过时),则需要使用兼容版本的mysql2。如果是0.3.21,那么:

代码语言:javascript
复制
gem 'mysql2', '~> 0.3.21'

没有别的办法了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56400067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档