[解決済み] rails + MySQL on OSX: ライブラリがロードされない: libmysqlclient.18.dylib
2022-08-24 05:29:43
質問
Ruby(とrails)を始めたばかりです。私は次のようにセットアップを行いました。
http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:ruby
gems に従ってセットアップしました。
rvm
. 私は、すべてがsqliteでうまく動作しています。
今度は、私がほとんどの開発を行うMySQLに変換してみたいと思います。私のGemfileでは、sqliteをmysql2に置き換えています。
group :development, :test do
# gem 'sqlite3', '1.3.5'
gem 'mysql2'
gem 'rspec-rails', '2.9.0'
end
しかし、MySQLでrails用のDBを作成しようとすると、以下のようになります。
$ rake db:create --trace
rake aborted!
dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Users/username/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
Reason: image not found - /Users/username/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
私は、homebrew経由でMySQLを再インストールすることを推奨する他の投稿を見ました(私のはダウンロード可能なDMG経由でインストールされました)が、私は、他の非rubyプロジェクト用にすでにそこにいくつかの他のデータベースを持っているので、それをしないことを望みます。
Railsが探しているファイルは実際にあります。
/usr/local/mysql/lib/libmysqlclient.18.dylib
. Railsにこのファイルの場所を教えるには、どうしたらよいでしょうか。
どのように解決されますか?
~/.bash_profile または ~/.profile ファイルにライブラリのパスを追加することで解決します。
MYSQL=/usr/local/mysql/bin
export PATH=$PATH:$MYSQL
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
それでもうまくいかない場合(私はこれでうまくいきました)。
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
多くのブログで
install_name_tool
を使っているブログがたくさんありますが、私は OSX Lion を使っているので、これはうまくいきません。
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/indexer
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/search
関連
-
MySQL Innodb インデックスメカニズム詳細解説
-
mysqlインデックスが長すぎる特殊なキーが長すぎる解決策
-
Mysqlのソート機能の詳細
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
[解決済み] ユニークなテーブル/エイリアスではない
-
[解決済み] 1つのSQLクエリで複数のカウントを取得する方法は?
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] macOSアップデート後、Gitが動作しない(xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] utf8_general_ciとutf8_unicode_ciの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLのLike演算子に関する詳細
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
MySQLインストールチュートリアル(Linux版
-
[解決済み] 親の行を削除または更新できない:外部キー制約が失敗する
-
MySQL 接続タイムアウト。エラー SQLSTATE[HY000] [2002] 接続がタイムアウトしました 解決済み
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] なぜ SQLAlchemy の count() は生のクエリよりずっと遅いのでしょうか?
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?