Bundler不会安装mysql2

时间:2012-06-12 20:42:39

标签: ruby-on-rails gem bundler

首先,我在SO和google上发布了数十篇帖子,但未能找到答案。 我正在尝试使用bundler安装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中有宝石“mysql2”,“〜> 0.3.11”

当我执行捆绑安装时,它会完成整个过程并成功完成(无错误),但它不会安装mysql2。当我捆绑show 时,未列出mysql2。

我已尝试过在这里和论坛上推荐的大量内容,但仍无法使用bundler安装mysql2。

有什么想法吗?

感谢。

2 个答案:

答案 0 :(得分:10)

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

首先尝试:

sudo apt-get install libmysqlclient-dev

然后在你的RoR App Dir中首先检查你的GemFile - 我的GemFile中有这一行:

gem 'mysql2', '0.3.11'

运行捆绑包:

bundle install

或首先尝试Emily的命令,然后运行bundle install:

gem install mysql2 -v=0.3.11
bundle install

我希望它有所帮助

答案 1 :(得分: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应用程序现在正在运行。

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