安装 mysql2 gem 错误

Posted

技术标签:

【中文标题】安装 mysql2 gem 错误【英文标题】:installing mysql2 gem errors 【发布时间】:2011-08-12 00:51:08 【问题描述】:

我通过 macport 安装了 ruby​​ 和 ruby​​ gems,但是 gem 列表不包括 mysql2。那么如何在“/opt/local/bin/gem”中的 gem 列表中安装 mysql2 gem

另外,什么是 mysql2 gem?我有 mysql gem,只想使用 mysql,不太确定 mysql2 是什么意思。当我尝试在应用程序上启动 webrick 时,它给了我一个 mysql2 错误。

更新: 我运行了 sudo gem install mysql2 并得到以下信息:

构建原生扩展。这 可能需要一段时间... 成功 已安装 mysql2-0.2.7 已安装 1 个 gem 安装 ri 文档 mysql2-0.2.7...

封闭类/模块'mMysql2' 类客户端未知

封闭类/模块'mMysql2' 类结果未知 安装 RDoc mysql2-0.2.7 的文档...

封闭类/模块'mMysql2' 类客户端未知

封闭类/模块'mMysql2' 类结果未知

假设安装了 mysql2,即使当我尝试在我的应用中启动 webrick 时文档没有收到以下错误。

导轨服务器:

/opt/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlopen(/opt/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle, 9):库未加载: libmysqlclient.18.dylib (LoadError) 参考自: /opt/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle 原因:找不到图片 - /opt/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle 从 /opt/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8 从 /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in require' from /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in require' 来自 /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in each' from /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in require' 来自 /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in each' from /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in require' 来自 /opt/local/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in require' from /Users/summer/Sites/simple_cms/config/application.rb:7 from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28:in require' 来自 /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28 从 /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27:in tap' from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27 from script/rails:6:inrequire' 来自脚本/rails:6

【问题讨论】:

您缺少 libmysqlclient-dev 标头尝试在 macports 中搜索该库。这就是我必须在我的 Ubuntu 上安装才能安装 gem。 【参考方案1】:

据我所知,这两个 gem(mysql 和 mysql2)之间的区别之一是 mysql2 与 UTF-8 配合得更好。这里is an article关于它。

要安装你的 mysql2 gem,只需运行:

gem install 'mysql2'

【讨论】:

请查看此页面:***.com/questions/4115126/…。阅读所有答案,尤其是 Holger Just 的答案。 但是从你的日志来看,gem 似乎已经安装好了,错误只是与文档有关! @Amokrane 没用,我使用的是 32 位版本的处理器,但出现了不同的错误。 嗯,会不会是这个***.com/questions/4297253/…? (我记得也有同样的问题) 如何访问 database.yaml 文件?【参考方案2】:

为了搜索可用的远程 gem,运行命令 gem search mysql2 -r(注意最后的-r)

* 远程宝石 *

activerecord-mysql2legacydb-适配器 (0.2.0) activerecord-mysql2spatial-adapter (0.3.2) em_mysql2_connection_pool (0.0.5) ghazel-mysql2 (0.2.6.3) mysql2 (0.2.7, 0.2.6 x86-mingw32 x86-mswin32-60) mysql2_bigint (0.2.6.1) mysql2_model (0.1.2) mysql2mysql (0.0.2) mysql2psql (0.1.0) mysql2xxxx (0.0.4)

从 gems 列表中你应该选择 mysql2 并运行 须藤宝石安装mysql2

【讨论】:

以上是关于安装 mysql2 gem 错误的主要内容,如果未能解决你的问题,请参考以下文章

错误:安装 mysql2 时出错:错误:无法在 AWS Linux 上构建 gem 原生扩展

错误:安装 mysql2 时出错:错误:无法构建 gem 原生扩展

在 Ubuntu 20.04 上安装 mysql2 gem 版本“0.3.21”时出错

尝试使用 mysql2 gem 安装应用程序时出错

Ruby gem mysql2 安装失败

无法安装旧的 mysql2 gem