当前位置: 首页 > 面试题库 >

OSX上的rails + MySQL:未加载库:libmysqlclient.18.dylib

夏星阑
2023-03-14
问题内容

我只是从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 --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安装的),但是我不愿意这样做,因为我已经有了其他非红宝石项目的其他几个数据库。

实际上,我确实有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


 类似资料:
  • 问题内容: 我刚刚在Mac OS 10.6上为python 2.7编译并安装了mysqldb。我创建了一个简单的测试文件,可以导入 首先,此命令用红色下划线标出,信息告诉我“未解析的导入”。然后我尝试运行以下简单的python代码 执行它时,我收到以下错误消息 解决我的问题的方法可能是什么? 编辑:实际上我发现该库位于/ usr / local / mysql / lib中。所以我需要告诉我的py

  • 问题内容: 设置… 试图设置一个干净的Mac OS X 10.6安装来开发python / django,我不记得在10.5上遇到过这个问题。 从我的安装程序安装MySQL后 似乎进展顺利(以下输出) 在此之后,我尝试: 它通过以下方式对我产生了负面影响: 所以我的问题… 我做错了什么/我还需要做什么? 对此进行谷歌搜索(并在此处搜索)会返回很多结果,而使用Ruby会收到此错误消息,而使用Pyth

  • 编辑:这是我的swt.jar的清单,它在lib文件夹中

  • 问题内容: 尝试从当前“。”中加载共享库。dir在osx上进行单元测试。 在Linux和Netbsd上有效的是一个符号链接 但在osx上,找不到python 我尝试添加 到脚本env,nogo。任何帮助表示赞赏。 -埃德 更新4/6/10: 解决了下面来自krunk的信息。但是仅将dylib复制或ln -s到.so名称并不能完全解决它。仍然不会加载。但是,告诉libtool将lib与- modul

  • 谁能帮帮我吗?我试图在我的Mac上使用在我的环境中运行Python自动化测试,但出现了这样一个错误: 库未加载:/usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib 但在执行测试期间仍有相同的错误:

  • 问题内容: 我正在使用OS X El Capitan(10.11.4)。 我只是按照此处的pip安装说明下载了TensorFlow 。 一切都进行得很顺利,尽管我确实收到了一些警告消息,例如: 和 即使我刚刚安装了pip。 然后,当我在Python中测试TensorFlow时,出现错误: 现在,当我尝试执行此操作时,它告诉我它尚未安装。 我发现最类似于这个问题的是TensorFlow GitHub