安装mysql2(0.4.8)时发生错误,Bundler无法继续

如何在轨道上的ruby中修复此错误。

source 'https://rubygems.org' git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.0.2' # Use sqlite3 as the database for Active Record gem 'sqlite3' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby gem 'mysql 2', '0.4.8' # Use jquery as the JavaScript library gem 'jquery-rails' # 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', '~> 3.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Capistrano for deployment # gem 'capistrano-rails', group: :development group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri end group :development do # Access an IRB console on exception pages or by using  anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '~> 3.0.5' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'spree', '~> 3.2.1' gem 'spree_auth_devise', github: 'spree/spree_auth_devise' gem 'spree_gateway', github: 'spree/spree_gateway' gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: 'master' 

我运行’bundle install’并发生了这个错误。 所以为了修复项目的错误,我在控制台中运行了’gem install mysql2’0.4.8”命令,但我无法解决它。

这个ruby on rails使用Spree框架。

编辑:

 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/admin/.rvm/gems/ruby-2.4.1/gems/mysql2-0.4.8/ext/mysql2 /Users/admin/.rvm/rubies/ruby-2.4.1/bin/ruby -r ./siteconf20170803-6579-foq4sg.rb extconf.rb checking for rb_absint_size()... yes 

我运行’捆绑安装’,但由于此错误,我无法成功执行此命令。

我想你错过了mysql的dev库:

在ubuntu上

 sudo apt-get install libmysqlclient-dev 

在Red Hat / CentOS和其他使用yum的发行版上:

 sudo yum install mysql-devel 

在Mac OS X上使用Homebrew:

 brew install mysql 

我有类似的问题,但是对于v4.10

 Error occurred while installing mysql2 (0.4.10), and Bundler cannot continue 

所以我必须运行以下命令来解决上述问题。

 sudo apt-get update sudo apt-get install build-essential