首先,我在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。
有什么想法吗?
感谢。
答案 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应用程序现在正在运行。
感谢每一位试图提供帮助的人!