回答:
Ubuntu / Debianおよびaptitudeを使用するその他のディストリビューション:
sudo apt-get install libmysql-ruby libmysqlclient-dev
パッケージlibmysql-ruby
は段階的に廃止され、に置き換えられましたruby-mysql
。これが私が解決策を見つけた場所です。
libmysql-ruby
が見つからないために上記のコマンドが機能しない場合は、以下で十分です。
sudo apt-get install libmysqlclient-dev
Red Hat / CentOSおよびyumを使用するその他のディストリビューション:
sudo yum install mysql-devel
Homebrewを搭載したMac OS Xの場合:
brew install mysql
libmysqlclient-dev
ます。私の場合、インストールで十分です。
私はMacを使っており、自作を使用してオープンソースプログラムをインストールしています。自作をインストールするためにMac Dev Toolsをインストールする必要がありましたが、その後は簡単でした。
brew install mysql
mysqlをインストールします。それ以来、mysql gemの問題は発生していません。
brew link mysql --force
。
これはWindowsユーザーのためのソリューションです、それが役に立てば幸いです!
railsinstallerをインストールします -> www.railsinstaller.org(私はc:\ Railsにインストールしました)
MySQLをインストールします(私はMySQL 5.5を使用しました)-> dev.mysql.com/downloads/installer/
--- mySQLのインストール--- これらの2つのファイルを
まだインストールしていない場合は、MySQLを実行するためにそれらを必要とする可能性があります vcredist_x86.exe-> http://www.microsoft.com/download/en/details.aspx? id = 5555 dotNetFx40_Full_x86_x64.exe-> http://www.microsoft.com/download/en/details.aspx?id=17718 デフォルトのインストールDeveloper Machineを使用
-MySQLサーバー構成-
ポート:3306
Windowsサービス名:MySQL55
mysqlルートパス:ルート(後で変更できます)
(ユーザー名:ルート)
-MySQLサーバー構成---- mySQLインストール---
--- mysql2 Gemをインストールします---
重要:Git Bashコマンドラインでこれを実行します(これはrailsinstallerでインストールされました)-> start / Git Bash
gem install mysql2-'--with-mysql-lib = "c:\ Program Files \ MySQL \ MySQL Server 5.5 \ lib "--with-mysql-include =" c:\ Program Files \ MySQL \ MySQL Server 5.5 \ include "'
これでgemが正しくインストールされて
いるはずです最後にlibmysql.dllファイルをコピーします
C:\ Program Files \ MySQL \ MySQL Server 5.5 \ lib
to
C:\ Rails \ Ruby1.9.2 \ bin
--- mysql2 Gemをインストール---
MySQLでRails 3アプリを作成する方法がわからない場合は、MySQLでRailsアプリを使用できるようになります。
--- MySQLでRails 3アプリを実行する---
コマンドプロンプトを開く(Git Bashではない)-> start / cmd
フォルダーに移動する(c:\ Sites)
新しいrailsアプリを作成する
rails new world
ファイルc:\ Sites \ world \ public \ index.htmlを削除します
ファイルc:\ Sites \ world \ config \ routes.rb
を編集しますこの行を追加します-> root:to => 'cities#index'
コマンドプロンプトを開く(ビューとコントローラーを生成する)
rails generate scaffold city ID:integer Name:string CountryCode:string District:string Population:integer
ファイルc:\ Sites \ world \ app \ models \ city.rbを次のように編集します
class City < ActiveRecord::Base
set_table_name "city"
end
ファイルc:\ Sites \ world \ config \ database.ymlを次のように編集します
development:
adapter: mysql2
encoding: utf8
database: world
pool: 5
username: root
password: root
socket: /tmp/mysql.sock
gemfileに追加
gem 'mysql2'
Git Bashではなく、コマンドプロンプトウィンドウcmdを開きます(アプリを実行してください!)
アプリフォルダー(c:\ Sites \ world)に移動します。
rails s
ここでブラウザを開きます-> http:// localhost:3000
--- MySQLに対応したRails 3アプリを入手---
gem install mysql2 -- --with-mysql-dir=C:\xampp\mysql
-- --with-mysql-dir="C:\xampp\mysql"
、引用符なしで ``が削除されました。ありがとう
MacOSユーザーのための別の方法
「brew」を使用してmysqlをインストールした場合:
gem install mysql2 -v 'x.x.x' -- --with-mysql-config=/usr/local/Cellar/mysql/y.y.y/bin/mysql_config
xxx =インストールするmysql2 gem
のバージョンyyy = ls /usr/local/Cellar/mysql
見つけるためにインストールしたmysqlのバージョン
使ってみましたか
gem install mysql -- --with-mysql-lib=/usr/lib/mysql/lib
ベースディレクトリの場所と、gemのインストールを完了するために必要なMySQLライブラリへのパスを指定するには、
ソース: MySQL Gemインストールエラー:gemネイティブ拡張の構築に失敗しました MySQLフォーラム:: Ruby :: RubyのMySQLバインディングのインストールに必要なヘルプ
which mysql
見つけましたlib
。
これはWindowsで一度問題を解決しました:
subst X: "C:\Program files\MySQL\MySQL Server 5.5"
gem install mysql2 -v 0.x.x --platform=ruby -- --with-mysql-dir=X: --with-mysql-lib=X:\lib\opt
subst X: /D
gem install mysql2 --platform=ruby -- --with-mysql-dir=X: --without-opt-dir
Windows 7でこの問題が発生しました。これは明らかに非互換性の問題であり、解決策は次のとおりです。
libmySQL.dll
古いInstantRailsインストーラーからファイルをダウンロードします。これは、InstantRails GitHubリポジトリから入手できます。
次に、そのファイルをRuby / binフォルダーにコピーします。
今、あなたは行ってもいいです;)
bundle install
。
私もこのエラーを受け取りました。開発パッケージをインストールすることで解決します。私はアーチを使用しています、それはそうでした:
sudo pacman -S base-devel
インストールされたもの:
m4, autoconf, automake, bison, fakeroot, flex, libmpc, ppl, cloog-ppl, elfutils, gcc,
libtool, make, patch, pkg-config
しかし、実際にはmakeとgccが必要だったと思います。エラー出力は(私のマシンなどで)言った:
「最初に開発ツールをインストールする必要があります。」
したがって、それは明白な決定であり、それが役立ちました。
私の場合、これは役に立ちました:
$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"
次に:
gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/' -- --with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib
結果:
Building native extensions with: '--with-cppflags=-I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib'
This could take a while...
Successfully installed mysql2-0.5.2
Parsing documentation for mysql2-0.5.2
Installing ri documentation for mysql2-0.5.2
Done installing documentation for mysql2 after 0 seconds
1 gem installed
この投稿を参照してください(警告:内部の日本語)。
ソリューションはMac OS Xでのみ機能します
MySQLをhomebrewでインストールした場合、MySQLをアンインストールし、MySQL Webサイト(https://www.mysql.com/)を介してMySQL Community Editionをインストールすることがうまくいきました。
インストール後、コマンドを再入力するgem install mysql2
か、必要に応じて、sudo gem install mysql2
権限拒否の問題が発生している場合は、コマンドを再入力します。
1)によってMac OS X 10.6.6でgemをビルドしました。1)開発ツールパッケージがインストールされていることを確認します。2)現在のMySQLパッケージ(私の場合は5.5.8)をソースからダウンロードします。3)cmake.orgからcmakeツールをインストールします4 )mysql配布ファイルからのINSTALL-SOURCEのセクション2.11の指示に従ってください。5)sudo gem install mysql2 -- --srcdir=/usr/local/mysql/include
gemは正常にビルドされましたが、rdocとriが不満を言うドキュメントに2つのエラーがあります。しかし、今 'mysql2'を要求しようとすると、
LoadError: no such file to load -- mysql2/mysql2
私が得るエラーはlibmysqlclient.16.dylibが見つからなかったことで、別の投稿(install_name_toolを検索)でそれを見つけたので、期待していました。
私の$ PATHには/ usr / local / mysqlが含まれているため(ソースとビルドされたファイルが配置されている場所)、少し困惑しています。誰かが何か考えを持っているなら、私は数時間の睡眠の後でまたチェックします。
それでもエラーが発生する場合は、Rails 3にmysql2 gemをインストールする手順に従ってください-
http://rorguide.blogspot.com/2011/03/installing-mysql2-gem-on-ruby-192-and.html
ほとんどのユーザーがmysql2 gemをインストールできました。
mysqllib.dllの正しいバージョンをダウンロードして、それをruby binにコピーしてください。このリンクをたどると、間違ったmysqlクライアントライブラリ用にコンパイルされたmysql2 gemが構築されます。
「最初に開発ツールをインストールする必要があります。」Mac OS X Mountain Lionへのアップグレード後に mysql2 gemをインストールしようとするとエラーが発生します。どうやらこのアップグレードを実行すると、コマンドラインコンパイラが削除されます。
修正するには:
MySqlをインストールしていないため、この問題が発生しています。mysql2 gemをインストールする前。MySQLをインストールします。その後、mysql2 gemがインストールされます。
特にMacユーザーのために、この回答を追加したかっただけです。
xcodeを更新するまで、サーバーは完全に問題なく動作していました。Railsサーバーを起動している間、エラーは次のように表示されました
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/user/.rvm/rubies/ruby-1.9.3-p448/bin/ruby extconf.rb --with-mysql-
checking for rb_thread_blocking_region()... /Users/user/.rvm/rubies/ruby-1.9.3-
p448/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an
executable file. (RuntimeError)
また、エラーメッセージの最後にmysql2 gemをインストールするよう提案されていました。だから私がそれをインストールしようとしたとき、私はこの質問で前述したようにエラーを得ました。私が得たエラーは次のとおりです
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
したがって、この投稿で提案されているように、「brew install mysql」を試してみたところ、mysqlバージョンがすでにインストールされているということをやめました。しかし、それが言う前に警告がありました
Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
xcodebuild -license
それから私はこれを試しました sudo xcodebuild -license
て、最後に「同意する」と入力します。ライセンスに同意するには、rootである必要があります。
この後、もう一度バンドルインストールを試しましたが、すべて正常に機能しています。[このxcodeの更新があったとしても、タワーにも問題がありました。]