mysql - 使用gem安装mysql时出现错误 "Bundler cannot continue..."

标签 mysql ruby-on-rails ruby rubygems

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

config/database.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

Gemfile

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 files will remain installed in C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/mysql-2.9.1 for inspection. Results logged to C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/mysql-2.9.1/gem_make.out

An error occurred while installing mysql (2.9.1), and Bundler cannot continue. Make sure that gem install mysql -v '2.9.1' --source 'https://rubygems.org/' succeeds before bundling.

In Gemfile: mysql

请帮忙。谢谢。

最佳答案

要将 mysql 与 Rails 结合使用,您只需要 mysql2 gem。只需删除 gem 'mysql', '~> 2.9.1' 行就可以了。

关于mysql - 使用gem安装mysql时出现错误 "Bundler cannot continue...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52875563/

相关文章:

mysql - mysql 内出错,之前发现了别名

ruby-on-rails - Grails(现在)值得吗?

ruby-on-rails - Rails4 : How to display the data when association data doesn't exist

ruby-on-rails - Ruby on Rails 教程,第 10.3.3 节测试失败

php - 使用 PHP 在指定位置合并 2 个 JSON

mysql - MySQL中有正则表达式替换的功能吗?

mysql - MySql 语句中断页中的 WHERE 子句

ruby-on-rails - 为什么 Rails 查询缓存不起作用?

css - Rails - 字体路径在生产中有效,但在本地主机上无效

ruby - Ruby 中使用 Fibers 的状态机?