2012-02-03 3 views
7

私はRoR開発環境をUbuntuに移行しました。私はgithubから作業しているプロジェクトを引っ張って、必要なすべての宝石をインストールしようとしています。私は次のエラーを取得するbundleまたはbundle installまたはbundle install execを実行するたびしかし、:私はbundlerを実行することができません。エラーが発生する

[email protected]:~/Workspace/SuitBrokers$ bundle install exec 
Fetching source index for http://rubygems.org/ 
Installing rake (0.9.2.2) 
Installing multi_json (1.0.3) 
Installing activesupport (3.1.0) 
Installing bcrypt-ruby (3.0.1) with native extensions 
Installing builder (3.0.0) 
Installing i18n (0.6.0) 
Installing activemodel (3.1.0) 
Installing erubis (2.7.0) 
Installing rack (1.3.5) 
Installing rack-cache (1.0.3) 
Installing rack-mount (0.8.3) 
Installing rack-test (0.6.1) 
Installing hike (1.2.1) 
Installing tilt (1.3.3) 
Installing sprockets (2.0.3) 
Installing actionpack (3.1.0) 
Installing mime-types (1.17.2) 
Installing polyglot (0.3.3) 
Installing treetop (1.4.10) 
Installing mail (2.3.0) 
Installing actionmailer (3.1.0) 
Installing arel (2.2.1) 
Installing tzinfo (0.3.31) 
Installing activerecord (3.1.0) 
Installing activeresource (3.1.0) 
Installing ansi (1.4.1) 
Using bundler (1.0.21) 
Installing cocaine (0.2.0) 
Installing coffee-script-source (1.1.3) 
Installing execjs (1.2.9) 
Installing coffee-script (2.2.0) 
Installing rack-ssl (1.3.2) 
Installing json (1.6.1) with native extensions 
Installing rdoc (3.11) 
Installing thor (0.14.6) 
Installing railties (3.1.0) 
Installing coffee-rails (3.1.1) 
Installing jquery-rails (1.0.18) 
Installing mysql (2.8.1) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. 

     /home/edu/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 
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 
    --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=/home/edu/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 
    --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/edu/Workspace/SuitBrokers/exec/ruby/1.9.1/gems/mysql-2.8.1 for inspection. 
Results logged to /home/edu/Workspace/SuitBrokers/exec/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out 
An error occured while installing mysql (2.8.1), and Bundler cannot continue. 
Make sure that `gem install mysql -v '2.8.1'` succeeds before bundling. 

は、誰もがこの特定の痛みを扱っていますか?あなたの助けは永遠に評価されます。

+0

あなたは猫 'の出力を含めることができます/home/edu/Workspace/SuitBrokers/exec/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out'? – Woahdae

+0

そのファイルは、この行の後に始まる出力を逐語的に示しています。 "Gem :: Installer :: ExtensionBuildError:ERROR:gemネイティブ拡張をビルドできませんでした。 –

+0

しかし、ディレクトリruby .../bin/ruby​​のどこにでもextconf.rbは表示されません –

答えて

12

あなたの箱にmysql-devのものがどこにあるかをbundlerに伝える必要があります。通常は次のようなものが動作します:

もちろん、上記のパスを実際のmysql_configのパスに置き換える必要があります。 mysql_configがインストールされていない場合、あなたのサーバにmysql-devパッケージがインストールされている必要があります。おそらく共有サーバー上にいるようですので、開発パッケージが既にインストールされていることを願っています。そうでない場合は、リクエストする必要があります。

+0

@ JasonKに感謝します。 mysql-devパッケージがインストールされているかどうか確認するにはどうすればよいですか?どこを探しますか?実行するコマンドはありますか?私は、Windows 7で実行されているOracle Virtual MachineにインストールされているUbuntu 11.10を使用しています。 –

+6

私はUbuntuを信じていて、パッケージはlibmysqlclient-devと呼ばれています。ですから、インストールするコマンドは 'sudo apt-get install libmysqlclient-dev'のようになります – JasonK

+0

これは問題なく私のために働いています。ありがとうございます。 –

3

あなたが不足しているライブラリは、Ubuntu 14.04(Trusty)にあります。libmysqlclient-devです。 下の行は、私のためのトリックをした:

sudo apt-get install libmysqlclient-dev