15

長い間、Ubuntu 12.04 サーバーに Gitlab をインストールしようとしてきましたが、実行するまではすべてうまくいきますbundle install

MySQL2 をインストールできないと表示されていますが、理由や修正措置は示されていません。

home/gitlab/gitlab$ sudo -u gitlab -H bundle install --deployment --without development test postgres
Fetching gem metadata from http://rubygems.org/.......
Fetching gem metadata from http://rubygems.org/..
Using rake (10.0.1) 
Using i18n (0.6.1) 
Using multi_json (1.3.7) 
Using activesupport (3.2.9) 
Using builder (3.0.4) 
Using activemodel (3.2.9) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.2.1) 
Using actionpack (3.2.9) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.12) 
Using mail (2.4.4) 
Using actionmailer (3.2.9) 
Using arel (3.0.2) 
Using tzinfo (0.3.35) 
Using activerecord (3.2.9) 
Using activeresource (3.2.9) 
Using bundler (1.2.3) 
Using rack-ssl (1.3.2) 
Using json (1.7.5) 
Using rdoc (3.12) 
Using thor (0.16.0) 
Using railties (3.2.9) 
Using rails (3.2.9) 
Using acts-as-taggable-on (2.3.3) 
Using backports (2.6.5) 
Using bcrypt-ruby (3.0.1) 
Using blankslate (3.1.2) 
Using sass (3.2.3) 
Using bootstrap-sass (2.2.1.1) 
Using carrierwave (0.7.1) 
Using charlock_holmes (0.6.9) 
Using chosen-rails (0.9.8) 
Using coffee-script-source (1.4.0) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using coffee-rails (3.2.2) 
Using colored (1.2) 
Using daemons (1.1.9) 
Using orm_adapter (0.4.0) 
Using warden (1.2.1) 
Using devise (2.1.2) 
Using diff-lcs (1.1.3) 
Using draper (0.18.0) 
Using escape_utils (0.2.4) 
Using eventmachine (1.0.0) 
Using multipart-post (1.1.5) 
Using faraday (0.8.4) 
Using ffaker (1.15.0) 
Using sass-rails (3.2.5) 
Using font-awesome-sass-rails (2.0.0.0) 
Using foreman (0.60.2) 
Using gemoji (1.2.1) 
Using git (1.2.5) 
Using posix-spawn (0.3.6) 
Using yajl-ruby (1.1.0) 
Using pygments.rb (0.3.2) from https://github.com/gitlabhq/pygments.rb.git (at master) 
Using github-linguist (2.3.4) 
Using github-markup (0.7.4) 
Using gitlab_meta (4.0) 
Using gratr19 (0.4.4.1) 
Using grit (2.5.0) from https://github.com/gitlabhq/grit.git (at 7f35cb9) 
Using hashery (1.5.0) 
Using gitolite (1.1.0) 
Using grack (1.0.0) from https://github.com/gitlabhq/grack.git (at ba46f3b) 
Using hashie (1.2.0) 
Using multi_xml (0.5.1) 
Using rack-accept (0.4.5) 
Using rack-mount (0.8.3) 
Using virtus (0.5.2) 
Using grape (0.2.2) 
Using grit_ext (0.6.1) from https://github.com/gitlabhq/grit_ext.git (at 8e6afc2) 
Using haml (3.1.7) 
Using haml-rails (0.3.5) 
Using httparty (0.9.0) 
Using httpauth (0.2.0) 
Using jquery-atwho-rails (0.1.7) 
Using jquery-rails (2.1.3) 
Using jquery-ui-rails (2.0.2) 
Using jwt (0.1.5) 
Using kaminari (0.14.1) 
Using kgio (2.7.4) 
Using libv8 (3.3.10.4) 
Using modernizr (2.6.2) 
Installing mysql2 (0.3.11) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
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/local/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/gitlab/gitlab/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.11 for inspection.
Results logged to /home/gitlab/gitlab/vendor/bundle/ruby/1.9.1/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.
root@Server:/home/gitlab/gitlab$
4

4 に答える 4

53

一般的な可能性のある問題を示しています。

何らかの理由で Makefile を作成できませんでした。必要なライブラリやヘッダーが不足している可能性があります。詳細については、mkmf.log ファイルを確認してください。構成オプションが必要な場合があります。

それがあなたの手がかりです。

関連する「devel」パッケージとともに、MySQL クライアント リポジトリがインストールされていることを確認します。Ruby、Python、Perl などの言語では、言語からドライバーへのインターフェイスを提供するネイティブ モジュールをコンパイルできるように、ライブラリとヘッダーをインストールする必要があります。

また、次の方法でインストールされる mysql_config が必要です。

sudo apt-get install libmysqlclient-dev

Ubuntu VM で問題を再現し、libmysqlclient-dev をインストールした後に修正することができました。

に mysql_config を配置し/usr/bin/mysql_config、両方ともgem install mysql正常gem install mysql2にインストールできました。

于 2013-01-05T23:21:32.770 に答える
12

ありがとう、それはうまくいきました、ただいくつかの余分なものを追加する必要がありました

sudo apt-get install libmysqld-dev libmysqlclient-dev mysql-client
于 2013-01-07T15:02:07.443 に答える
0

Windows 8+ x64 を使用している場合は、この質問の本文にある回答を参照してください。

Windows への MySQL2 Gem のインストール

編集

反対票を投じた人を喜ばせるために、リンクされた質問の内容をコピーしています。

  1. クリーンアップ: あなたがここにいる理由は、おそらくこの gem をインストールしようとして失敗したためです。

  2. Windows 用の Ruby 2.0 64 ビットをダウンロードします。

http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.0.0-p353-x64.exe?direct

  1. インストーラーを実行します。インストール先のディレクトリをメモし、それがユーザー PATH にあることを確認します。に行く

    Control Panel > System and Security > System - Advanced System Settings > Environment Variables
    

そして、ruby のインストール ディレクトリの bin ディレクトリへのパスが、LOCAL ユーザーの PATH 環境変数にあることを確認します (SYSTEM Path 環境変数にある場合でも問題ありません)。

  1. Ruby 2 64 ビット Dev Kit をダウンロードします。

http://cdn.rubyinstaller.org/archives/devkits/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

  1. インストーラーを実行し、インストール ディレクトリの場所をメモします。指示によると、インストールが完了したら、devkitvars.bat ファイルを実行して環境変数を設定する必要があります。これは Windows 8.1 では機能しません。上記の #2 で説明したローカル パスを設定する手順を繰り返して、ローカル ユーザーのパス環境変数を設定し、ruby dev kit bin ディレクトリと ruby​​ dev kit mingw bin ディレクトリを追加する必要があります。たとえば、開発キットが c:\ruby2devkit にインストールされ、ruby2 が C:\Ruby200-x64 ディレクトリにインストールされている場合、パス ステートメントを次のように編集します。

    C:\Ruby200-x64\bin;C:\ruby2-devkit\bin;c:\ruby2-devkit\mingw\bin
    
  2. 次に、mysql-connector をインストールする必要があります。自己インストーラーをダウンロードして実行しないでください。代わりに、zip ファイルをダウンロードして解凍します。解凍したディレクトリに注意してください (この記事では、c:\mysql-connector に解凍したと仮定します。

http://dev.mysql.com/downloads/file.php?id=450612

  1. MySQL Connector 64 ビットに含まれる libmysql.lib は、mingw64-gcc コンパイラと互換性がありません。mingw64 互換の libmysql.lib ファイルを生成する必要があります。

  2. 必要なツールをダウンロードする

    https://structure-svm-map.googlecode.com/files/svm-map-win.zip

  3. このファイルをローカル ディレクトリに解凍します。c:\svm-map に解凍したとします。

  4. 前述のように PATH 環境パスを編集して、次のようにします。

    C:\Ruby200-x64\bin;C:\ruby2-devkit\bin;c:\ruby2-devkit\mingw\bin;c:\svm-map;C:\svm-map\python-mingw-lib
    
  5. 新しい mysql ライブラリを生成します。

    cd c:\mysql-connector\lib
    
    gendef.exe libmysql.dll
    
    dlltool -v --dllname libmysql.dll --def libmysql.def --output-lib libmysql.lib
    
    copy libmysql.dll C:\Ruby200-x64\bin
    
    copy libmysql.lib C:\Ruby200-x64\bin
    
  6. 次のように gem をインストールします (バックスラッシュの代わりにスラッシュを使用することに注意してください。バックスラッシュを使用すると失敗します)。

    gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:/mysql-connector/"'
    

これがお役に立てば幸いです。また、Ruby on Rails 開発を行いたい少数の Windows 7/8.1 ユーザーに誰かが注意を向けてくれることを願っています。

于 2014-10-04T19:54:25.237 に答える