加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 初始化程序中Rails 3引擎的Gem依赖性失败

发布时间:2020-12-17 03:09:51 所属栏目:百科 来源:网络整理
导读:tldr;当我在使用Engine的测试应用程序中运行rake任务时,似乎没有遵守Engine依赖项.我必须通过在测试应用程序的Gemfile中指定依赖项来(-D)RY 我使用Jeweler创建了一个Rails引擎作为宝石.它依赖于我在Rakefile中指定的Devise: gem.add_runtime_dependency 'de
tldr;当我在使用Engine的测试应用程序中运行rake任务时,似乎没有遵守Engine依赖项.我必须通过在测试应用程序的Gemfile中指定依赖项来(-D)RY

我使用Jeweler创建了一个Rails引擎作为宝石.它依赖于我在Rakefile中指定的Devise:

gem.add_runtime_dependency 'devise','~> 1.1.3'

在我的测试应用程序中,我将引擎依赖项添加到Gemfile,而bundle install显示已选择并安装了Devise.但是,如果我运行初始rake db:migrate会抛出错误:

uninitialized constant Devise
<snip>config/initializers/devise.rb:3

如果我手动将Devise依赖项添加到测试应用程序的Gemfile中,它就可以工作.我可能错过了一些显而易见的事情,但是在这个阶段,测试应用程序似乎选择并正确安装了依赖项,但由于某种原因,初始化程序代码会失败,除非在测试应用程序的Gemfile中再次列出依赖项.

解决方法

您可能已找到解决方案或解决方法,但我会解释如何解决这个问题,以防有人遇到同样的问题.

刚刚放:

require 'devise'

在lib / my_gem.rb中.

Rails自动加载Gemfile中指定的gem,没有别的.如果您正在开发具有依赖关系的gem,则必须手动要求它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读