mysql - 使用 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
请帮忙。谢谢你。
解决方案
要使用带有 rails 的 mysql,您只需要mysql2
gem。只需删除该gem 'mysql', '~> 2.9.1'
行,您应该会没事的。
推荐阅读
- vim - 当我在 vim 中搜索然后按“esc”光标返回到上一个位置
- c# - 如何将加载了文本(数据)的列表调用到类的每个实例
- .net - 在发布模式下编译时,.NET 进程的内存空间是否安全?
- c++ - ZMQ Dealer 向自己发送和接收消息
- macos - 为什么我在 AppleScript 命令中的击键不能将打开的电子邮件信息变成“外发”信息?
- flutter - 长按 BottomNavigationBarItem
- python - 使用 postgres 的烧瓶搜索栏
- ios - 如何从过滤器中获取原始图像
- python-3.x - Visual Studio 说包没有被导入,但是 pip 说它已经被导入了
- date - 使用 PowerQuery 过滤每月第一天和最后一天的日期