亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

OSX上的rails + MySQL:未加載庫:libmysqlclient.18.dylib

OSX上的rails + MySQL:未加載庫:libmysqlclient.18.dylib

慕沐林林 2019-12-09 15:13:01
我只是從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創建數據庫時,我得到了:$ rake db:create --tracerake 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我看過其他一些文章,建議通過家庭釀造重新安裝MySQL(我的是通過可下載的DMG安裝的),但是我不愿意這樣做,因為我已經有其他非紅寶石項目的其他數據庫。實際上,我確實有Rails正在尋找的文件;它安裝在中/usr/local/mysql/lib/libmysqlclient.18.dylib。告訴Rails如何定位的最佳方法是什么?
查看完整描述

3 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

解決方案非常簡單;將庫路徑添加到?/ .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


查看完整回答
反對 回復 2019-12-09
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

在El Capitan,我得到了 ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted


在El Capitan中,/usr/lib/現在有一個受限制的標志,并且在不禁用安全性的情況下無法寫入,因此我只是添加了鏈接/usr/local/lib。


sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib

Rails服務器再次正常運行。


查看完整回答
反對 回復 2019-12-09
?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

盡管此問題的標題恰好描述了我遇到的問題,但情況與前面的答案中描述的情況有所不同,解決方案也是如此。


在我的情況下(El Capitan,通過brew update && brew upgrade自家安裝的mysql ),導致mysql軟件包升級到5.7.10(從5.6.x)。


升級導致libmysqlclient.18.dylib被替換為libmysqlclient.20.dylib,但是mysql2gem仍然依賴于前者。


要解決此問題,我做了: gem uninstall mysql2 && gem install mysql2


查看完整回答
反對 回復 2019-12-09
  • 3 回答
  • 0 關注
  • 817 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號