【问题标题】:cannot load such file -- devise/schema (LoadError)无法加载此类文件 -- 设计/模式 (LoadError)
【发布时间】:2012-07-08 17:51:40
【问题描述】:

在我将 devise_rpx_connectable gem 添加到我的 Gemfile 之后,我无法再运行 rails server 或迁移以向我的用户表添加列。我正在尝试在此处遵循 railscast 示例: http://railscasts.com/episodes/233-engage-with-devise?view=comments

在过去的两天里,我尝试了几件事来尝试让这个东西发挥作用。我试过自己创建迁移文件,但是当我运行“rake db:migrate --trace”时,我得到的错误是“rake aborted!无法加载这样的文件——设计/模式”,下面有很多错误: C:/.../devise/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251 in 'require'

我尝试用谷歌搜索这个问题,只发现少数人有同样的问题,但没有人回答他们的问题。似乎其他出现“无法加载此类文件”错误的人被告知他们的某些 gem 版本不兼容,因此我将在此处提供该信息:

宝石文件: 宝石'导轨','3.2.6' 宝石'设计','2.1.2' 宝石'devise_rpx_connectable','0.2.2' 另外我的捆绑器版本是 1.1.4,我的 ruby​​ 版本是 1.9.3

唯一让我印象深刻的是,devise 文件夹中的 ruby​​ 版本似乎是 1.9.1,而我的是 1.9.3,但我想知道降级到 1.9.1 的可能后果。

任何意见将不胜感激! 谢谢

【问题讨论】:

  • 您可以随时尝试将您的项目克隆到一个新目录中,然后降级 ruby​​ 版本。你用的是rvm吗?如果是这样,这应该相当容易。只需使用 Ruby 1.9.1 创建一个新的 .rvmrc 文件,然后看看它是如何滚动的。
  • 我试过了,但没有帮助。您能提出其他建议吗?谢谢!
  • 嗯,所以只有当这个 gem 被添加时它才不起作用?你是否也在使用一个大型的现有应用程序?您是否能够使用 vanilla Rails 应用程序重新创建 gem 的工作副本? /thinking_out_loud
  • 一定是版本问题。当我创建一个新的 Rails 应用程序并添加 gem 'devise' 和 'devise_rpx_connectable' 时,它会发出相同的错误。添加这些宝石后,有人可以尝试查看命令“rails server”是否适用于香草应用程序?如果是这样,您安装了哪个版本的 rails/ruby/rake?在高级感谢

标签: ruby-on-rails janrain rpx


【解决方案1】:

所以我们决定删除“require 'devise/schema.rb'”所在的 schema.rb 文件的内容,我们的应用程序神奇地工作了!我不知道这意味着什么,所以我做了更多研究并发现了这个-

https://github.com/nbudin/devise_cas_authenticatable/commit/44aacb23fb5b4cc9d22434c952b9d1d88fe28e88#commitcomment-1555733

事实证明,使用较新版本 (> 2.1) 的设计,此文件的内容不是必需的。希望这能解决很多其他人的问题,特别是如果他们决定更新设计 gem 并继续使用 devise_rpx_connectable。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-30
    • 2015-01-22
    • 2012-10-25
    • 2020-12-05
    • 2017-03-18
    • 2018-07-31
    • 2015-03-20
    • 2012-02-27
    相关资源
    最近更新 更多