Ruby on Rails: 我想在localhost上调用一个控制器,但服务器说!!!缺少mysql gem。将它添加到您的Gemfile:gem'mysql','2.8.1'
问题?当我点击'gem list'命令然后我得到一个列表女巫包含mysql 2.8.1。所以宝石是安装的!为什么webrick不能看到它?
谢谢。
答案 0 :(得分:13)
您需要将行gem 'mysql', '2.8.1'
添加到Gemfile中。然后在Rails项目的根文件夹中键入bundle install
。听起来你忘了运行打包机。
MySQL gem确实需要本机C扩展。因此,您需要确保已安装所有开发库。
在Ubuntu中你可以这样做:
sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysql-ruby libmysqlclient-dev
sudo gem install mysql
如果您使用的是rvm,请不要将gems安装为sudo。
为了确保您可能还想尝试删除Gemfile.lock,然后重新运行bundle install
答案 1 :(得分:0)
您似乎正在使用Rails 3,它使用bundler来加载所有需要的gem。您应该按照错误消息的指示将gem添加到Gemfile中,以便加载它。 查看bundler项目页面,了解有关gem依赖项工具以及如何将其与Rails一起使用的更多信息。 http://gembundler.com/rails3.html