bundle install: 构建本地 gem 扩展失败

3

我使用 git clone git://github.com/jalagrange/excel_test_app.git 命令进行克隆。但是在执行 bundle install 命令时出现了以下错误,而我的其他应用程序却没有遇到这个问题。

出现的错误如下:

Installing mysql2 (0.3.6) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

C:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb
checking for rb_thread_blocking_region()... yes
checking for main() in -llibmysql... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

gemfile

    source 'http://rubygems.org'

gem 'rails', '3.1.0'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
gem "spreadsheet"
gem "carrierwave"
gem "mini_magick"
gem 'flash_cookie_session'
gem "pry"
gem "haml"
gem 'fog'

# To use Delayed_job
gem 'daemons'
gem 'delayed_job_active_record'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails', "  ~> 3.1.0"
  gem 'coffee-rails', "~> 3.1.0"
  gem 'uglifier'
end

gem 'jquery-rails'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'

group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end


group :development, :test do
  gem "mysql2", "0.3.6"
  gem "letter_opener"
  gem "pry"
end

这个问题和回答对于我的问题没有用...gem install: Failed to build gem native extension (can't find header files)

问题解决了,我运行了bundle update.. 谢谢大家。

3个回答

4

执行以下命令,并重新安装 bundle:

sudo apt-get install libmysql-ruby libmysqlclient-dev


如果仍然无法解决问题,请查看此线程的已接受答案,它与您面临的问题非常相似。https://dev59.com/4W025IYBdhLWcg3wtoXX - Kalpesh
我在安装gem install mysql2 -v=0.3.6时遇到了以下错误,但是在gem install mysql2时没有错误。 - rails_id
1
我在安装带有本地扩展的mysql2(x.x.x)时遇到了错误...并使用选项进行安装。我尝试过"sudo apt-get install libmysql-ruby libmysqlclient-dev",然后就好了。 - vajapravin

0

2018.11.05 => 已弃用。

在执行apt search libmysqlclient-dev命令后,您将获得安装mysql2所需的新软件包。

在我的情况下,结果为default-libmysqlclient-dev

apt install default-libmysqlclient-dev

gem install mysql2 -v 0.4.6

=> 然后您可以重新启动bundle install输入代码命令。


0
sudo apt-get install libmysqlclient-dev

那么

gem install mysql2 -v=X.X.x

其中 x.x.x 是您需要的版本号
然后运行 bundle install 命令


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接