首页 > 解决方案 > 使用 gem 安装 mysql 时出现错误“Bundler cannot continue...”

问题描述

我只是学习 Ruby on Rails。我想使用 mysql 而不是 sqlite3。这是我的配置:

配置/数据库.yml

default: &default
  adapter: mysql
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  <<: *default
  database: library_development
  username: root
  password: ""
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: library_test
  username: root
  password: ""
  host: localhost

production:
  <<: *default
  database: library_production
  username: root
  password: ""
  host: localhost

宝石文件

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.5.1'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.1'
# Use mysql as the database for Active Record
gem 'mysql', '~> 2.9.1'
gem 'mysql2', '~> 0.3.13'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
gem 'duktape'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 3.3.0'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

当我运行bundle install它返回错误:

Gem 文件将继续安装在 C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/mysql-2.9.1 以供检查。结果记录到 C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/mysql-2.9.1/gem_make.out

安装 mysql (2.9.1) 时出错,Bundler 无法继续。gem install mysql -v '2.9.1' --source 'https://rubygems.org/'在捆绑之前确保成功。

在 Gemfile 中:mysql

请帮忙。谢谢你。

标签: mysqlruby-on-railsrubyrubygems

解决方案


要使用带有 rails 的 mysql,您只需要mysql2gem。只需删除该gem 'mysql', '~> 2.9.1'行,您应该会没事的。


推荐阅读