【问题标题】:Rails 3 app deployment, Bundler & Rake issuesRails 3 应用程序部署、Bundler 和 Rake 问题
【发布时间】:2011-05-19 23:25:11
【问题描述】:

部署 Rails3 应用程序,但在获取 rake 以查找“bundle install --deployment”安装的 gems 时遇到了一些问题:

$ rake db:migrate
(in /home/jrdev/rails/testapp)
rake aborted!
!!! Missing the mysql2 gem. Add it to your Gemfile: gem ‘mysql2’

但是,那个 gem 是 Gemfile,也在 vendor/bundle 文件夹中……

$ bundle show mysql2
/home/jrdev/rails/testapp/vendor/bundle/ruby/1.8/gems/mysql2-0.2.6

我的 .gemrc 文件:

gemhome: /home/jrdev/.gems
gempath:
- /home/jrdev/.gems
- /usr/lib/ruby/gems/1.8

我认为 rails3 应用程序已经有捆绑器代码来检测要使用哪些 gem?我知道我也在使用正确的 rake(rake db:migrate --trace 从 /home/jrdev/rails/testapp/vendor/bundle/ruby/1.8/bin/rake 开始)。使用 bundler 的 exec 的结果相同。

:(

【问题讨论】:

    标签: ruby-on-rails rake bundler


    【解决方案1】:

    你不知道我问了一会儿就解决了。

    我的 database.yml 文件仍在调用“mysql”适配器而不是“mysql2”。

    不过,多么模糊的错误消息!

    【讨论】:

    • 感谢您的回答。真的。
    • 天哪。这是一个可怕的错误信息!谢谢你。
    • 谢谢!我们遇到了同样的问题。
    • 确实,错误信息应该是Unknown database adapter 'mysql'
    【解决方案2】:

    /home/jrdev/rails/testapp 中,您应该找到一个名为Gemfile 的文件。查看它并添加该行

    gem 'mysql2'
    

    某处。

    【讨论】:

    • 扫一扫,我提到该行在我的Gemfile中,否则它不会被bundler安装。
    • 不相关的问题:您如何在答案中突出显示该路径?
    • 啊,是的,我很笨,对不起。此外,您可以将任何字符串括在 ` 符号中以在文本中突出显示它们(在右侧窗格中阅读)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    相关资源
    最近更新 更多