运行rails script / generate scaffold命令时找不到gem'mysql2 ..'

时间:2010-09-22 00:58:21

标签: ruby-on-rails ruby

我收到了这个错误:

Could not find gem 'mysql2 (>= 0, runtime)' in any of the gem sources.
Try running `bundle install`.

尝试时:

rails script/generate scaffold post title:string

我在mac osx上,rails 1.8.7,3.0

3 个答案:

答案 0 :(得分:6)

在ubuntu上,您可能需要先安装mysql库。

sudo apt-get install libmysqlclient-dev

然后你可以安装

gem install mysql2

甚至更好的方法是使用rvm

rvm gem install mysql2

答案 1 :(得分:3)

您对rails 3.0使用rails script/generate …吗?也许你升级了rails 2.x项目?使用rails 3,您应该使用rails generate …或更短的rails g …

关于缺少宝石:按要求运行bundle install:)

答案 2 :(得分:0)

如果您使用的是Mac,这将对您有所帮助(我也有2小时出现此错误)。

brew install mysql

brew install openssl

gem install mysql2 -v '0.5.2' -- --with-ldflags=-L/usr/local/opt/openssl/lib --with-cppflags=-I/usr/local/opt/openssl/include

bundle install

要点是必须首先安装openssl才能在Mac上设置mysql2 gem。