2015-11-18 9 views
28

त्रुटि:एल कैप्टन उन्नयन: लाइब्रेरी लोड नहीं: /usr/local/lib/libmysqlclient.18.dylib

/Users/askar/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/mysql2-0.3.20/lib/mysql2.rb:31:in `require': dlopen(/Users/askar/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib (LoadError) 
    Referenced from: /Users/askar/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle 
    Reason: image not found - /Users/askar/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-14/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.bundle 

Gemfile में: gem 'mysql2'

$ ls -al/usr/स्थानीय/lib/libmysql *

lrwxr-xr-x 1 askar admin 49 Nov 13 10:48 /usr/local/lib/libmysqlclient.20.dylib -> ../Cellar/mysql/5.7.9/lib/libmysqlclient.20.dylib 
lrwxr-xr-x 1 askar admin 42 Nov 13 10:48 /usr/local/lib/libmysqlclient.a -> ../Cellar/mysql/5.7.9/lib/libmysqlclient.a 
lrwxr-xr-x 1 askar admin 46 Nov 13 10:48 /usr/local/lib/libmysqlclient.dylib -> ../Cellar/mysql/5.7.9/lib/libmysqlclient.dylib 
lrwxr-xr-x 1 askar admin 37 Nov 13 10:48 /usr/local/lib/libmysqld.a -> ../Cellar/mysql/5.7.9/lib/libmysqld.a 
lrwxr-xr-x 1 askar admin 44 Nov 13 10:48 /usr/local/lib/libmysqlservices.a -> ../Cellar/mysql/5.7.9/lib/libmysqlservices.a 

$ ls -al /usr/local/Cellar/mysql/5.7.9/lib/

0,123,
total 84392 
drwxr-xr-x 9 askar admin  306 Nov 12 22:16 . 
drwxr-xr-x 14 askar admin  476 Nov 13 10:48 .. 
-r--r--r-- 1 askar admin 3780168 Nov 13 10:48 libmysqlclient.20.dylib 
-r--r--r-- 1 askar admin 4280752 Nov 12 22:16 libmysqlclient.a 
lrwxr-xr-x 1 askar admin  23 Nov 12 22:16 libmysqlclient.dylib -> libmysqlclient.20.dylib 
-r--r--r-- 1 askar admin 35126528 Nov 12 22:16 libmysqld.a 
-r--r--r-- 1 askar admin  9048 Nov 12 22:16 libmysqlservices.a 
drwxr-xr-x 3 askar admin  102 Nov 13 10:48 pkgconfig 
drwxr-xr-x 43 askar admin  1462 Nov 12 22:17 plugin 
drwxr-xr-x 43 askar admin  1462 Nov 12 22:17 plugin 

जैसा कि आप देख मैं libmysqlclient.20.dylib रही है, इसलिए यह 20 नहीं 18 है, अन्यथा मैं समाधान here पालन करना होगा।

मैंने हाल ही में एल कैपिटन में अपग्रेड किया है लेकिन यह सुनिश्चित नहीं है कि यह कारण है।

अद्यतन:

धन्यवाद संकेत मणि पुन: स्थापित करने के लिए @Rashmirathi करने के लिए।

बस इतना ध्यान रखें करना चाहता था, मैं के रूप में Gemfile में निर्दिष्ट करने के लिए भी जरूरी:

gem 'mysql2', '~> 0.3.18' 

अन्यथा मैं था त्रुटि:

Specified 'mysql2' for database adapter, but the gem is not loaded. Add gem 'mysql2' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

लेकिन अंत में मुझे मिल गया त्रुटि:

Mysql2::Error
Your password has expired. To log in you must change it using a client that supports expired passwords.

जिसे पासवर्ड फिर से सेट करके हल किया जाता है:

SET PASSWORD=PASSWORD('your_password'); 
+0

एल कैप्टन को अपग्रेड करने के तुरंत बाद मुझे एक ही समस्या का सामना करना पड़ रहा है। निश्चित नहीं है कि क्यों सेब ने अभी तक इस मुद्दे को ठीक नहीं किया है। पीआईपी के माध्यम से MySQL और MySQL-Python को अपग्रेड करने के बाद भी समस्या बनी रहती है। – iankit

उत्तर

46

मुझे पहले एक ही समस्या मिल रही थी, मैंने इसे मणि mysql2 को पुनर्स्थापित करके तय किया।

+0

धन्यवाद, मैं काम पर उस कंप्यूटर के रूप में कल कोशिश करूंगा। – Askar

+0

मैंने अपनी पोस्ट पर कुछ अपडेट किया है जिसमें आपको रुचि हो सकती है ...;) – Askar

+2

मैं वास्तव में जानना चाहता हूं कि यह क्यों काम करता है। –

31

यह आपकी समस्या का समाधान होगा:

gem pristine mysql2 

solution by Cesar Sulbarán

+3

यह मेरे लिए हल नहीं किया गया, केवल काम को पुनर्स्थापित करें। – caesarsol

+0

यह मेरे लिए काम करता है। धन्यवाद! –

+0

यह मेरे लिए काम किया !! धन्यवाद! –

1

बस में झंकार के लिए यहाँ मैं सिर्फ libmysqlclient.18.dylib 18-20 के अंतर के साथ एक ही समस्या थी चाहते हैं। mysql मणि को पुनर्स्थापित करना (activerecord-mysql-adapter की निर्भरता) ने अंतर बनाया। mysql2 को पुनर्स्थापित करने से कुछ भी नहीं हुआ।

संपादन स्पष्ट करने के लिए: मेरे त्रुटि संदेश मेरे mysql मणि वापस देखा है, लेकिन मैं इतना खोज मैं इसे यहाँ शामिल कर रहा हूँ के माध्यम से इस सूत्र मिला: बजाय libmysqlclient.20.dylib:

Please install the mysql adapter: `gem install activerecord-mysql-adapter` (dlopen(/Users/eriks/.rvm/gems/ruby-2.1.4/gems/mysql-2.9.1/lib/mysql/mysql_api.bundle, 9): 
Library not loaded: /usr/local/lib/libmysqlclient.18.dylib 
Referenced from: /Users/eriks/.rvm/gems/ruby-2.1.4/gems/mysql-2.9.1/lib/mysql/mysql_api.bundle 
Reason: image not found - /Users/eriks/.rvm/gems/ruby-2.1.4/gems/mysql-2.9.1/lib/mysql/mysql_api.bundle) (LoadError) 
5

मैं अजगर में एक अनुरूप समस्या थी एल कैपिटन पर 18 का। pip install --upgrade mysql इसे ठीक किया गया है, लेकिन केवल python2 में काम करता है।

+4

प्रासंगिक lib को 'पाइप इंस्टॉल MySQL-Python' के रूप में स्थापित किया गया है। हालांकि '- अपग्रेड' मेरे लिए काम नहीं करता क्योंकि मेरे पास lib का नवीनतम संस्करण था जिसे किसी कारण से तोड़ दिया गया है। संयोजन अनइंस्टॉल + इंस्टॉल मेरे लिए काम किया। – arsenyinfo

+1

@arsenyinfo यह मेरे लिए काम किया। मुझे ब्रू को अपडेट/अपग्रेड करने से त्रुटियां मिलीं। – Esteban

20

पर ओएस एक्स एल कैपिटन या अधिक उन लोगों के लिए, यह मेरी समस्या को ठीक:

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

अधिक जानकारी के लिए https://stackoverflow.com/a/32875545/1066915

+0

मेरे लिए यह एक अधिक सामान्य समाधान है: ln -nfs /usr/local/lib/libmysqlclient.dylib /usr/local/lib/libmysqlclient.18.dylib – Arkhitech

2

मैं Homebrew उपयोग कर रहा हूँ तो मैं सब कुछ साफ़ करके इस समस्या को ठीक करने के बाद रेल एप्लिकेशन Gemfile

में में बाहर

  1. टिप्पणी mysql2 मणि: चरण दर चरण 210

    "# मणि 'mysql2'" बंडल से

  2. निकालें mysql2 मणि ​​

    बंडल mysql2 मणि ​​(सभी संस्करणों)

    मणि स्थापना रद्द करें mysql2

  3. स्थापित

  4. स्थापना रद्द करें अपडेट होमब्रू

    ब्रू अपडेट

  5. स्थापना रद्द mysql के सभी संस्करणों

    काढ़ा स्थापना रद्द करें --force mysql

  6. पुनर्स्थापित mysql

    काढ़ा Gemfile में mysql

  7. टिप्पणी हटाएं mysql2 मणि ​​स्थापित

    मणि mysql2

  8. mysql2

    जोड़ें

    बंडल स्थापित

यह दृष्टिकोण थोड़ा overkill हो सकता है बंडल लेकिन मेरे लिए साफ लगता है के लिए।

संबंधित मुद्दे