4

首先,我已经在 SO 和 google 上发布了几十个帖子,但一直找不到答案。我正在尝试使用捆绑程序安装 mysql2,但它不会这样做。

Ubuntu Server 11.04 Natty上运行

以下是一些背景信息:

ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]

gem -v
1.8.24

rails -v
Rails 3.2.5

$ mysql --version
mysql  Ver 14.14 Distrib 5.1.62, for debian-linux-gnu (x86_64) using readline 6.2

我的 Gemfile 中有 gem "mysql2", "~> 0.3.11"

当我进行捆绑安装时,它会通过该过程并成功完成(无错误),但它不会安装 mysql2。当我做bundle show时,没有列出 mysql2 。

我已经尝试了在这里和论坛上推荐的大量东西,但仍然无法使用捆绑器安装 mysql2。

有任何想法吗?

谢谢。

4

2 回答 2

10

对于 mysql2,您需要在服务器上安装开发文件。

先试试:

sudo apt-get install libmysqlclient-dev

然后首先在您的 RoR App 目录中检查您的 GemFile - 我的 GemFile 中有这一行:

gem 'mysql2', '0.3.11'

运行捆绑:

bundle install

或者先试试 Emily 的命令,然后运行 ​​bundle install:

gem install mysql2 -v=0.3.11
bundle install

我希望它有帮助

于 2012-06-13T03:48:29.177 回答
2

因此,经过多次尝试、阅读和拉扯我的头发,我发现了问题所在,所以我将它发布给那些可能遇到相同情况的人。

bundler 不安装 mysql2 的原因是 gem 位于这个平台结构中,见下文:

platforms :mri_19, :mingw_19 do
  group :mysql do
    gem "mysql2", "0.3.11"
  end
end

所以我所做的只是将 gem "mysql2", "0.3.11" 单独移动到 Gemfile 的顶部并运行bundle install就可以了!现在 mysql2 列在 bundle show 下,我的 rails 应用程序正在运行。

感谢每一位试图提供帮助的人!

于 2012-06-13T18:53:25.550 回答