I've got an API mode Rails 5 app that won't let me run rake routes or rails s. The error I get is:
$ 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) I've verified that listen is in the development group in my Gemfile:
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 And that it's in my Gemfile.lock:
$ 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) I've bundle updated, and bundle installed, and verified that gem install listen works. This was working earlier this week, but I'm not having luck going back through my commits.
$ ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14] I don't see it in vendor/cache but I'm not sure what to make of that...
$ bundle package | grep 'listen' Appreciate the help!
Update:
I can "fix" the problem by putting gem 'listen', '~> 3.1.5' in the global Gemfile (and removing it from :development). Then all the errors go away and everything works, but that seems wrong.
If you are on rails 5 and you are using the default config/environments/development.rb file it will have this line of code in there.
config.file_watcher = ActiveSupport::EventedFileUpdateChecker This requires the gem listen. This threw me for a bit as I was doing a rails 4 upgrades to a rails 5
edit: Forgot to mention that if you comment that line of code out it will not need the listen gem anymore.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With