【问题标题】:Migrating database fails after upgrading to Ruby 2.3.0升级到 Ruby 2.3.0 后迁移数据库失败
【发布时间】:2016-04-09 16:43:16
【问题描述】:

我已更新到 Ruby 2.3.0,但在创建新的 Rails 应用程序时遇到了一些问题。创建一个简单的新测试应用程序并搭建资源后,尝试执行 rake db:migrate 时出现以下加载错误:

    MacBook-Pro:log medright1$ rake db:migrate
/Users/medright1/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/rake-10.4.2/bin/rake:31:in `require': cannot load such file -- rake (LoadError)
    from /Users/medright1/.rvm/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/rake-10.4.2/bin/rake:31:in `<top (required)>'
    from /Users/medright1/.rvm/gems/ruby-2.3.0/bin/rake:23:in `load'
    from /Users/medright1/.rvm/gems/ruby-2.3.0/bin/rake:23:in `<main>'
    from /Users/medright1/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/medright1/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'
MacBook-Pro:log medright1$

任何帮助排序都会很棒!

【问题讨论】:

  • 只是一个健全性检查:升级 Ruby 后你 bundle 了吗?

标签: ruby-on-rails ruby rake rvm ruby-2.3


【解决方案1】:

如果您还没有这样做,请确保您已安装所有依赖项。

$ bundle

或

$ bundle install

您可能没有在全局 RVM gemset 中安装 rake。在任何情况下,如果你在 Rails 项目中,你应该使用bundler 来执行命令。

$ bundle exec rake db:migrate

否则,请确保全局安装 rake

$ rvm gemset use global
$ gem install rake

但是,正确的方法是通过Bundler执行命令。

【讨论】:

  • 非常感谢西蒙妮!最后两个命令解决了这个问题.. 因为我之前安装了 2.2 版本的 ruby​​,运行 rake 的 rails 4.2.5 应用程序没有问题,我在升级到 2.3 时错过了什么吗?我对编程很陌生,不确定我可能在哪里出错了..
  • 默认情况下,rake 未安装在全局 gemset 中(因为通常您不会在全局 gemset 中安装 gem)。由于某种原因,您可能在以前的设置中使用过它,但您没有注意到它,因此您认为这是默认行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-26
  • 2020-03-21
  • 1970-01-01
相关资源
最近更新 更多