无法加载这样的文件 - devise/schema(LoadError)

问题描述:

在我添加了devise_rpx_connectable gem到我的Gemfile后,我无法运行rails server或迁移到我的Users表中添加一列。我试图在此处遵循railscast示例: http://railscasts.com/episodes/233-engage-with-devise?view=comments无法加载这样的文件 - devise/schema(LoadError)

我在过去两天尝试了几件事情,试图让这件事情起作用。我试图自己创建迁移文件,但是当我运行'rake db:migrate -t​​race'时,我得到的错误是“rake中止了!无法加载这样的文件 - devise/schema”以及下面的许多错误: C:/.../ devise/ruby​​/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251 in'require'

我试过用Google搜索这个问题,只找到少数有同样问题的人,没有人回答他们的问题。似乎其他人“不能加载这样的文件”的错误被告知他们的某些宝石的版本是不兼容,所以我会提供的信息在这里:

的Gemfile: 宝石“轨道”,“3.2.6” 宝石“设计”,“2.1.2” 宝石“devise_rpx_connectable”,“0.2.2” 也是我捆绑的版本是1.1.4,我的红宝石版本是1.9.3

脱颖而出对我的唯一的事情就是设计文件夹中的ruby版本似乎是1.9.1,我的版本是1.9.3,但我想知道降级到1.9.1的可能后果。

任何输入将不胜感激! 谢谢

+0

你总是可以试着将你的项目克隆到一个新目录中,并降级ruby版本。你在使用rvm吗?如果是这样,这应该相当容易。只需用Ruby 1.9.1创建一个新的.rvmrc文件,并看看它如何滚动。 – Trip 2012-07-08 18:10:50

+0

我试过了,它没有帮助。你能否提出其他建议?谢谢! – 2012-07-08 18:40:35

+0

嗯所以只有当这个宝石添加它不起作用?而且你还在使用一个大型的预先存在的应用程序?您是否能够使用vanilla Rails应用程序重新创建gem的工作副本?/thinking_out_loud – Trip 2012-07-08 18:58:51

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

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

原来,与色器件的新版本(> 2.1),这个文件的内容是没有必要的。希望这可以解决很多其他人的问题,特别是如果他们决定更新设计宝石并继续使用devise_rpx_connectable。