【问题标题】:LoadError with Rakefile when trying to rake db:migrate in a Rails engine尝试在 Rails 引擎中 rake db:migrate 时使用 Rakefile 出现 LoadError
【发布时间】:2015-02-02 23:56:22
【问题描述】:

我从 https://github.com/vinsol/fullcalendar-rails-engine.git 分叉了 fullcalendar_engine rails 引擎

当我尝试将属性 (:task) 添加到事件资源并 rake db:migrate 时,我收到以下错误:

耙中止! LoadError: 无法加载此类文件 -- /Users/myuser/fullcalendar-rails-engine/test/dummy/Rakefile /Users/myuser/fullcalendar-rails-engine/Rakefile:19:in `load' /Users/myuser/fullcalendar-rails-engine/Rakefile:19:in `' /Users/myuser/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval' /Users/myuser/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `' 任务:TOP => load_app

有人知道如何让它工作吗?我是 Rails 引擎的新手。

【问题讨论】:

    标签: ruby-on-rails fullcalendar rails-engines


    【解决方案1】:

    Rakefile 引用了一个似乎不在 repo 中的文件 - APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)

    【讨论】:

      【解决方案2】:

      如果您查看该项目的 Rakefile,您会注意到其中有一行:

      APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
      

      查看项目的目录结构,您会注意到test/dummy 目录不存在,因此LoadError。阅读installation instructions 并将Gem 包含在Rails 4 应用程序的Gemfile 中。

      【讨论】:

        【解决方案3】:

        这就是我最终要做的。

        我将引擎连接到一个虚拟父应用程序并运行 bundle update 以使用来自分叉 gem 的最新更新。最初,当我尝试以这种方式从引擎迁移更改时,它不起作用。我的问题是我在 捆绑安装,而不是捆绑更新。 Bundle install 将查找任何版本更改,但由于我没有更改我的版本,它没有看到我的迁移。我运行 rake fullcalendar_engine:install:migrations 将我的引擎迁移复制到父应用程序中,然后运行 ​​rake db:migrate

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-28
          • 1970-01-01
          • 1970-01-01
          • 2017-10-04
          • 2011-02-16
          • 2011-06-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多