2015-11-11 29 views
10

Tôi đã cài đặt mysql thông qua trình cài đặt pkg. Tôi đang cố gắng khởi động máy chủ và tôi nhận được lỗi sau.Tạo liên kết tượng trưng cho thư viện libmysqlclient.18.dylib

Library not loaded: libmysqlclient.18.dylib (LoadError) 

Tôi đọc rằng một giải pháp cho rằng là để tạo ra một liên kết tượng trưng như

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

Không có

/usr/local/mysql/lib/libmysqlclient.18.dylib 

tập tin chỉ là một tập tin

/usr/local/mysql/lib/libmysqlclient.20.dylib.

tôi chạy

sudo find /usr/ -name libmysqlclient.18.dylib 

và tôi không thể tìm thấy file libmysqlclient.18.dylib.

+0

Sửa lỗi liên kết tượng trưng không áp dụng cho trường hợp của bạn tệp * 18 * dành cho phiên bản trước (5.6 Tôi tin). Tệp * 20 * được sử dụng với mysql 5.7. Nếu bạn đang nâng cấp từ phiên bản trước, hãy xem http: // dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html và chạy 'mysql_upgrade'. –

Trả lời

14

Tôi gặp sự cố như thế này trong khi thiết lập môi trường phát triển mới. Tôi đã cài đặt MySQL qua homebrew, cho tôi phiên bản 5.7.9 của MySQL, với phiên bản thư viện libmysqlclient.20.dylib.

Trong trường hợp của tôi, tôi đã thiết lập dự án python. Các yêu cầu cài đặt không thành công vì phần kết nối python-MySQL đang tìm kiếm libmysqlclient.18.dylib, không tìm thấy ở đâu trên máy của tôi.

hạ cấp để MySQL 5.6 giải quyết vấn đề này cho tôi:

brew uninstall mysql 
brew tap caskroom/versions 
brew install mysql56 

Bây giờ /usr/local/lib/libmysqlclient.18.dylib là hiện tại và tất cả mọi thứ của peachy.

+1

Tôi không có nhiều kinh nghiệm với homebrew, nhưng tôi nghĩ bạn có nghĩa là 'brew install mysql56', không phải' brew cask install mysql56'. –

+0

Cảm ơn bạn đã thực hiện thay đổi – eareese

+1

Cảm ơn bạn. Tôi đã dành một ngày cố gắng để có được điều này để làm việc, và cuối cùng bạn đã cho tôi một giải pháp mà làm việc: D – Designer023

6

Đá quý mysql2 có nhiều khả năng trong môi trường Rails của bạn vẫn đang tìm kiếm libmysqlclient.18.dylib (từ những gì phải là cài đặt mysql trước) nhưng thư viện không còn ở đó vì cài đặt/nâng cấp thủ công gần đây đã thay thế bằng libmysqlclient.20.dylib.

Việc sửa chữa dễ dàng là để cài đặt lại mysql2:

gem uninstall mysql2 && gem install mysql2

hoặc tốt hơn nào:

gem uninstall mysql2 && bundle, nếu bạn đang ở trên Bundler.

2

Tôi không cài đặt mysql thông qua bia hoặc đá quý và đang đối mặt với cùng một vấn đề mà nó đang tìm kiếm libmysqlclient.18.dylib thay vì libmysqlclient.20.dylib. Tôi đã thử tất cả mọi thứ được đề cập ở đây và tại một số chủ đề khác. Không có gì hiệu quả. Cuối cùng, điều này đã làm việc cho tôi:

pip install mysqlclient 

Nó không cài đặt libmysqlclient.18.dylib, nhưng giải quyết các lỗi library not installedimage not found.

Hy vọng nó sẽ giúp ai đó!

Các vấn đề liên quan