2012-04-11 12 views
6

サーバにmysql2をインストールしようとしています。ので、私の最初の不運な道は、私が試したmysql2のインストール中にエラーが発生しました

[ps89405]$ mysql --help | grep Default -A 1 
Default options are read from the following files in the given order: 
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 

出力

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

/usr/bin/ruby1.8 extconf.rb 
checking for rb_thread_blocking_region()... no 
checking for rb_wait_for_single_fd()... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lm... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lz... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lsocket... no 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lnsl... yes 
checking for mysql_query() in -lmysqlclient... no 
checking for main() in -lmygcc... no 
checking for mysql_query() in -lmysqlclient... 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. 

Provided configuration options: 
    --with-opt-dir 
    --without-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/bin/ruby1.8 
    --with-mysql-config 
    --without-mysql-config 
    --with-mysql-dir 
    --without-mysql-dir 
    --with-mysql-include 
    --without-mysql-include=${mysql-dir}/include 
    --with-mysql-lib 
    --without-mysql-lib=${mysql-dir}/lib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 
    --with-mlib 
    --without-mlib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 
    --with-zlib 
    --without-zlib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 
    --with-socketlib 
    --without-socketlib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 
    --with-nsllib 
    --without-nsllib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 
    --with-mygcclib 
    --without-mygcclib 
    --with-mysqlclientlib 
    --without-mysqlclientlib 


Gem files will remain installed in /home/aaalsubaie/.gems/gems/mysql2-0.3.11 for inspection. 
Results logged to /home/aaalsubaie/.gems/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

これは物語の終わりではないに

gem install mysql2 

後に実行されているようだった

gem install mysql2 -- --with-mysql-config=~/.my.cnf --ruby=/usr/bin/ruby1.8 

gem install mysql2 -- --with-mysql-config=/usr/etc/my.cnf --ruby=/usr/bin/ruby1.8 

gem install mysql2 -- --with-mysql-config=/etc/my.cnf --ruby=/usr/bin/ruby1.8 

運同じエラー。

私は実行RVM

いけないと、私の宝石ENVは

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/aaalsubaie/.gems/ 
    - RUBY EXECUTABLE: /usr/bin/ruby1.8 
    - EXECUTABLE DIRECTORY: /home/aaalsubaie/.gems/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/aaalsubaie/.gems/ 
    - /usr/lib/ruby/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

これはそれがはるかに容易になりますIけれども運と私の最初のレールのアプリを展開しようとしている行の私の第二の日です。

アップデート:私は、私が得た

bundle exec rails console 

を実行したときに

今のコマンドがYanhao

gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config 

にmysql2宝石のおかげで作業してインストールされて私はmysql2宝石 で新しい問題を持っています

/home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `require': no such file to load -- mysql2/mysql2 (LoadError) 
from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require' 
from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require' 
from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/config/application.rb:7 
from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/railties-3.2.1/lib/rails/commands.rb:39:in `require' 
from /home/aaalsubaie/ajhezaty.com/releases/20120411095320/vendor/bundle/ruby/1.8/gems/railties-3.2.1/lib/rails/commands.rb:39 
from script/rails:6:in `require' 
from script/rails:6 

答えて

3

コマンドはこれを好きなはずです "と-mysqlの-config設定"

gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

オプションではなく、設定ファイルの "mysql_configを" ツールを指します。

mkmf.logファイルをお勧めします。

+1

/usr/local/mysql/bin /は私のサーバには存在しません!また私は最後の行を理解できませんでした。 – aaalsubaie

+0

devライブラリをインストールした後で動作してくれてありがとう。私は今新しい問題を抱えています。 – aaalsubaie

+0

さらに別の 'bundle install'? – Reactormonk

14

これは、あなたに直接関係ないかもしれませんが、私は正確に同じ問題に直面し、私は私の答えは、この問題に他人を助けるかもしれないと思う。私のために働いた

sudo apt-get install libmysql-ruby 
sudo apt-get install libmysqlclient-dev 
sudo gem install mysql2 

+0

ありがとう、保存時間) – ajahongir

+0

あなたの時間を保存していただきありがとうございます:) –

+0

+1。これは助けてくれてありがとう... –

4

Macをお使いの場合は、Homebrew brew install mysqlでMySQLをインストールしてください。これで後でインストールすることができます。

0

まずあなたは、このコマンドを実行する必要があります。

sudo apt-get install libmysqlclient-dev 

をして、あなたはこれを実行することができます。

gem install mysql2 

それは仕事でなければなりません。..

0

須藤はapt-getをlibmysqlclient-devをインストールする システムは他の2つのlibをインストールします: mysql-common libmysqlclient16

0

"bundle exec rail console"はバンドラーのGemfileに対して実行されますが、rubygemsでmysql2をインストールしました。あなたは実行する必要があります:

gem uninstall mysql2    # uninstall mysql2 from system 
bundle exec gem uninstall mysql2 # uninstall mysql2 from bundler 
bundle config build.mysql2 --with-mysql-config=/usr/bin/mysql_config # set build option for mysql2 gem 
bundle install     # reinstall mysql2 
bundle exec rails console   # start rails console using the rails exec installed via bundler 

追加注:あなたが乗客を使用していて、あなたは自分のRubyのバージョンを更新した場合、乗客を再インストールし、正常にサーバを起動するために、あなたのhttpd.confを更新してください。

関連する問題