我有一个API模式的Rails 5应用程序,不允许我运行rake routes
或rails s
.我得到的错误是:
$ rake routes
rake aborted!
LoadError: Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile
.../config/environment.rb:5:in `<top (required)>'
LoadError: cannot load such file -- listen
.../config/environment.rb:5:in `<top (required)>'
Tasks: TOP => routes => environment
(See full trace by running task with --trace)
我已经在我的GEM文件中验证了listen
在开发组中:
group :development do
gem 'listen', '~> 3.1.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
在我的档案里.锁:
$ cat Gemfile.lock | grep 'listen'
listen (3.1.5)
spring-watcher-listen (2.0.0)
listen (>= 2.7, < 4.0)
listen (~> 3.1.5)
spring-watcher-listen (~> 2.0.0)
我已经对bundle进行了更新,安装了bundle,并验证了gem install listen
个bundle可以正常工作.本周早些时候,这是有效的,但我没有运气回go 完成我的promise .
$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
我看不到它在vendor/cache
,但我不知道该怎么做...
$ bundle package | grep 'listen'
谢谢你的帮助!
Update:
我可以通过将gem 'listen', '~> 3.1.5'
放入全局文件(并将其从:development
中删除)来"修复"这个问题.然后所有的错误都消失了,一切正常,但这似乎是错误的.