因此,我在一个Rails应用程序中工作,它在Gemfile中有以下内容:
宝石‘mysql2 2’,'< 0.4‘
我接着做了以下工作:
从这里我得到
安装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
发布于 2019-05-31 18:47:14
如果您使用的是过时的Rails版本(而且3.2非常过时),则需要使用兼容版本的mysql2。如果是0.3.21,那么:
gem 'mysql2', '~> 0.3.21'没有别的办法了。
https://stackoverflow.com/questions/56400067
复制相似问题