gpt4 book ai didi

mysql - OSX : Library not loaded: libmysqlclient. 18.dylib 上的 rails + MySQL

转载 作者:IT老高 更新时间:2023-10-28 12:50:34 25 4
gpt4 key购买 nike

我刚刚开始使用 Ruby(和 rails)。我根据 http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:ruby 进行了设置 gem ,使用 rvm。我的一切都与 sqlite 配合得很好。

现在我想尝试将内容转换为 MySQL,因为这是我大部分开发工作都使用的。在我的 Gemfile 中,我用 mysql2 替换了 sqlite:

group :development, :test do
# gem 'sqlite3', '1.3.5'
gem 'mysql2'
gem 'rspec-rails', '2.9.0'
end

但是当我尝试在 MySQL 中为 rails 创建数据库时,我得到:

$ 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

我看到其他帖子建议通过自制软件重新安装 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 - OSX : Library not loaded: libmysqlclient. 18.dylib 上的 rails + MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10557507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com