LoadError:无法加载“侦听”gem(Rails 5)

我有一个API模式的Rails 5应用程序,它不允许我运行rake routesRails s。我得到的错误是:

$rake路由
雷克流产了!
LoadError:无法加载“侦听”gem。将“gem”listen“添加到Gemfile的开发组中
…/config/environment.rb:5:in`<顶部(必需)>'
LoadError:无法加载此类文件--侦听
…/config/environment.rb:5:in`<顶部(必需)>'
任务:TOP=>路线=>环境
(通过使用--trace运行任务查看完整跟踪)

我已经验证了listen在我的GEM文件的开发组中:

小组:开发
gem'倾听','~>3.1.5'
#Spring通过让应用程序在后台运行来加速开发。阅读更多:https://github.com/rails/spring
宝石“春天”
gem“春天守望者聆听”,“~>2.0.0'
终止

它在我的Gemfile.lock中:

$cat Gemfile.lock | grep'listen'
听(3.1.5)
spring watcher listen(2.0.0)
倾听(>=2.7,<4.0)
倾听(~>3.1.5)
spring watcher侦听(~>2.0.0)

我已经对bundle进行了更新,并安装了bundle,并验证了gem install listen是否有效。本周早些时候,这是有效的,但我没有运气回去完成我的承诺

$ruby-v
ruby 2.2.3p173(2015-08-18修订版51636)[x86_64-darwin14]

我在供应商/cache中看不到它,但我不确定该怎么做

$bundle包| grep'listen'

谢谢你的帮助

更新:

我可以通过放置gem'listen',“~”来“修复”问题;3.1.5'在全局GEM文件中(并将其从:development中删除)。然后所有的错误都消失了,一切正常,但这似乎是错误的

如果您使用的是rails 5,并且使用的是默认的config/environments/development.rb文件,那么其中将包含这一行代码

config.file\u watcher=ActiveSupport::EventedFileUpdateChecker

这需要宝石听。当我在做rails 4升级到rails 5时,这让我有点吃惊

编辑:
忘了提一下,如果你把那行代码注释掉,它就不再需要listengem了

发表评论