2

私のスタックは次のとおりです。

  • CentOS 6.3
  • MySQL 5.5 をインストールしました (http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/ の手順に従いました mysql関連のパッケージをyumインストールしようとすると、yumが5.1を期待するため、もちろん壊れます)

    $> mysql --version mysql Ver 14.14 Distrib 5.5.27、Linux (x86_64) 用 readline 5.1 を使用

    $> ruby​​ --version ruby​​ 1.9.3p194 (2012-04-20 リビジョン 35410) [x86_64-linux]

    $> rvm --version rvm 1.14.6 (安定版) by Wayne E. Seguin , Michal Papis [https://rvm.io/]

    $> uname -a Linux localhost.mkf 2.6.32-279.5.1.el6.x86_64 #1 SMP Tue Aug 14 23:54:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

    $> nginx -v nginx バージョン: nginx/1.2.2

    $> rails -v Rails 3.2.6

mysql2 gem をインストールしようとすると、次のエラーが発生します。

$> gem install mysql2
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

        /usr/local/rvm/rubies/ruby-1.9.3-p194/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=/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby
--with-mysql-config
--without-mysql-config


Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11       for inspection.
Results logged to /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-    0.3.11/ext/mysql2/gem_make.out

私がする時

$> find / -name mysql.h  

何も得られない

Mysql は適切に実行されており、データベースとテーブルを既に作成しており、SQL は問題なく実行されています。

スタックに mysql2 gem をインストールすることはできますか? もしそうなら、私が見逃しているものは何ですか?

更新: yum install mysql-devel Remi リポジトリを使用して mysql5.5 がインストールされているため、エラーをスローしようとしました。Yum は mySql 5.1 を想定していますが、

4

4 に答える 4

16

インストールしましたmysqlか?そうでない場合は、gem のネイティブ コンパイル用の mysql dev ファイルもインストールする必要があります。

sudo yum install mysql-devel

すでに説明されているこれを確認してくださいバンドラーを介してmysql2 gemをインストールするエラー

于 2012-08-25T06:13:21.763 に答える
3

私はこれを機能させました:

 wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.27-1.el6.x86_64.rpm 

 rpm -Uvh MySQL-devel-5.5.27-1.el6.x86_64.rpm 

 gem install mysql 

 gem install mysql2
于 2012-09-04T12:32:18.727 に答える
3

このようなエラーが発生した場合

$ sudo yum install mysql-devel

Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
10gen                                                                                                                                                      | 2.5 kB     00:00
base                                                                                                                                                       | 3.7 kB     00:00
centosplus                                                                                                                                                 | 3.4 kB     00:00
Not using downloaded repomd.xml because it is older than what we have:
  Current   : Wed Feb 12 07:03:25 2014
  Downloaded: Sat Jan  4 21:29:15 2014
contrib                                                                                                                                                    | 2.9 kB     00:00
epel                                                                                                                                                       | 4.2 kB     00:00
epel/primary_db                                                                                                                                            | 5.9 MB     00:00
extras                                                                                                                                                     | 3.4 kB     00:00
newrelic                                                                                                                                                   |  951 B     00:00
rpmforge                                                                                                                                                   | 1.9 kB     00:00
rpmforge-extras                                                                                                                                            | 1.9 kB     00:00
ucloud                                                                                                                                                     | 1.3 kB     00:00
updates                                                                                                                                                    | 3.4 kB     00:00
updates/primary_db                                                                                                                                         | 2.0 MB     00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-devel.x86_64 0:5.1.73-3.el6_5 will be installed
--> Processing Dependency: mysql = 5.1.73-3.el6_5 for package: mysql-devel-5.1.73-3.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-devel-5.1.73-3.el6_5.x86_64 (updates)
           Requires: mysql = 5.1.73-3.el6_5
           Installed: mysql-5.5.34-1.el6.remi.x86_64 (@remi)
               mysql = 5.5.34-1.el6.remi
           Available: mysql-5.1.71-1.el6.x86_64 (base)
               mysql = 5.1.71-1.el6
           Available: mysql-5.1.73-3.el6_5.x86_64 (updates)
               mysql = 5.1.73-3.el6_5
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

これを試して

sudo yum --enablerepo=remi -y install mysql-devel
于 2014-02-24T23:48:36.557 に答える
0

-devソフトウェアのヘッダー ファイルを取得するには、または-develバリアントをインストールする必要があります。非標準の RPM を使用しているため、同じソースにそのバージョンがあるかどうかを確認したい場合があります。

それらがインストールされたら、問題はないはずです。

于 2012-08-25T06:13:38.367 に答える