0

我查看了有关 stackoverflow 的多个问题,他们都为该问题提供了不同的解决方案。我 git 克隆了一个 rails 项目,运行 bundle install,并使用 1.9.3 ruby​​ 在 rvm 中创建了一个新的 gemset,并且认为 rails 3.2.13 也将使用 bundle install 命令安装。过去我通过使用本指南解决了这个问题,http://www.randomactsofsentience.com/2013/05/gem-install-mysql2-missing-mysqlh-on-os.html. 我在用户/本地找不到 mysql 文件夹,指南说我需要编辑一个文件并删除一些行来解决 mysql.h 丢失的问题。这个文件不存在了?我没找到?也许我缺少依赖项,但我找到了这些依赖项的 linux 安装方式?也许我需要安装 mysql5.5 而不是最新版本但不确定如何指定?其中哪一个会为我解决这个问题?

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

    /Users/judyngai/.rvm/rubies/ruby-1.9.3-p429/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql.h... no
checking for mysql/mysql.h... no
-----
mysql.h is missing.  please check your installation of mysql and try again.
-----
*** 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.

Provided configuration options:
    --with-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/judyngai/.rvm/rubies/ruby-1.9.3-p429/bin/ruby
    --with-mysql-config
    --without-mysql-config


Gem files will remain installed in /Users/judyngai/.rvm/gems/ruby-1.9.3-p429@spreeversion    /gems/mysql2-0.3.11 for inspection.
Results logged to /Users/judyngai/.rvm/gems/ruby-1.9.3-p429@spreeversion/gems/mysql2-0.3.11/ext/mysql2/gem_make.out

An error occurred while installing mysql2 (0.3.11), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling.
4

1 回答 1

1

您需要先设置 mysql 开发标头(因此,.h文件扩展名),然后 bundle / gem 才能构建您的本机 mysql 扩展。你在哪个操作系统上?所以我可以扩展我的答案......

例如,在 debian 上,它将是:(apt-get install libmysqlclient-dev在其他系统上,它可能被命名为不同的名称,例如mysql-devel)。如果您在 OSX 上,那么关于捆绑安装问题的信息非常丰富:缺少 mysql.h可能会对您有所帮助。对于 Windows,这可能会有所帮助:缺少 mysql.h 并试图找到 mysql-devel

于 2013-07-11T19:39:13.640 回答