所以我正在Gemfile中具有以下内容的Rails应用程序中工作:
gem'mysql2','<0.4'
我继续进行以下操作:
从这里我得到
在安装mysql2(0.3.21)时发生错误,并且Bundler无法 继续。
所以我将其更新为
gem'mysql2','〜> 0.4.10'
运行捆绑包安装并耙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 install activerecord-mysql2-adapter`(无法激活mysql2(〜> 0.3.10),已激活mysql2-0.4.10。确保所有依赖项都已添加到Gemfile。)(LoadError)
所以我将我的gemfile更新为:
gem'mysql2','〜> 0.4.10' gem'activerecord-mysql2-adapter'
Rails控制台可以运行,但rake db:migrate结果在
中耙子中止了! NoMethodError:未定义的方法“接受” nil:NilClass
我为解决方案找到的所有内容都是删除activerecord-mysql2-adapter ...这是行不通的。
作为参考,我使用的是:ruby 2.3.5,rails 3.2.22.5
答案 0 :(得分:0)
如果您使用的是过时的Rails版本(并且3.2已经过时了已经过时),则需要使用兼容版本的mysql2
。如果那是0.3.21,那么:
gem 'mysql2', '~> 0.3.21'
没有其他办法。