无法激活 mysql2 (~> 0.3.10),已激活 mysql2-0.4.3
can't activate mysql2 (~> 0.3.10), already activated mysql2-0.4.3
当 运行 一个 rails 应用程序时,我收到以下错误 -
DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from warn at /home/user/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/forwardable.rb:183)
/home/user/.rvm/gems/ruby-2.1.6/gems/signalfx-0.1.0/lib/signalfx/conf.rb:3:in `<top (required)>': Use RbConfig instead of obsolete and deprecated Config.
/home/user/.rvm/gems/ruby-2.1.6/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:314:in `block in replace_gem': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (can't activate mysql2 (~> 0.3.10), already activated mysql2-0.4.3. Make sure all dependencies are added to Gemfile.) (LoadError)
from /home/user/.rvm/gems/ruby-2.1.6/gems/activerecord-3.2.17/lib/active_record/connection_adapters/mysql2_adapter.rb:3:in `<top (required)>'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `block in require'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:236:in `load_dependency'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
在 gem 文件中,我有条目:gem 'mysql2', '~> 0.3'
正在检查安装了哪个 gem:
$ gem list|grep mysql2
activerecord-mysql2-adapter (0.0.3)
mysql2 (0.4.3)
我该如何解决这个错误?
更新您的 Gemfile 指定确切的版本
gem 'mysql2', '0.3.20'
然后 运行
bundle update mysql2
这应该使用 Gemfile
中的版本更新您的 mysql2
gem
通常可以通过在命令前加上 bundle exec
来避免这种情况 - 这将确保命令在捆绑的 gem 的上下文中是 运行,而不是系统 gem。
如果您对多个项目执行 bundle install
但未设置部署路径或以其他方式为单个项目分离已安装的 gem,则可能会发生这种情况。
例如bundle exec rails s
当 运行 一个 rails 应用程序时,我收到以下错误 -
DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from warn at /home/user/.rvm/rubies/ruby-2.1.6/lib/ruby/2.1.0/forwardable.rb:183)
/home/user/.rvm/gems/ruby-2.1.6/gems/signalfx-0.1.0/lib/signalfx/conf.rb:3:in `<top (required)>': Use RbConfig instead of obsolete and deprecated Config.
/home/user/.rvm/gems/ruby-2.1.6/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:314:in `block in replace_gem': Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (can't activate mysql2 (~> 0.3.10), already activated mysql2-0.4.3. Make sure all dependencies are added to Gemfile.) (LoadError)
from /home/user/.rvm/gems/ruby-2.1.6/gems/activerecord-3.2.17/lib/active_record/connection_adapters/mysql2_adapter.rb:3:in `<top (required)>'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `block in require'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:236:in `load_dependency'
from /home/user/.rvm/gems/ruby-2.1.6/gems/activesupport-3.2.17/lib/active_support/dependencies.rb:251:in `require'
在 gem 文件中,我有条目:gem 'mysql2', '~> 0.3'
正在检查安装了哪个 gem:
$ gem list|grep mysql2
activerecord-mysql2-adapter (0.0.3)
mysql2 (0.4.3)
我该如何解决这个错误?
更新您的 Gemfile 指定确切的版本
gem 'mysql2', '0.3.20'
然后 运行
bundle update mysql2
这应该使用 Gemfile
中的版本更新您的mysql2
gem
通常可以通过在命令前加上 bundle exec
来避免这种情况 - 这将确保命令在捆绑的 gem 的上下文中是 运行,而不是系统 gem。
如果您对多个项目执行 bundle install
但未设置部署路径或以其他方式为单个项目分离已安装的 gem,则可能会发生这种情况。
例如bundle exec rails s