Heim > Fragen und Antworten > Hauptteil
Ich habe eine Rails 5-Anwendung im API-Modus und sie lässt mich nicht laufen rake paths
或 rails s
. Der Fehler, den ich erhalte, ist:
$ rake routes rake aborted! LoadError: Could not load the 'lis ten' gem. Add `gem 'lis ten'` to the development group of your Gemfile .../config/environment.rb:5:in `<top (required)>' LoadError: cannot load such file -- lis ten .../config/environment.rb:5:in `<top (required)>' Tasks: TOP => routes => environment (See full trace by running task with --trace)
Ich habe bestätigt, dass li sten
in der Entwicklungsgruppe meiner Gemfile ist:
group :development do gem 'lis ten', '~> 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-li sten', '~> 2.0.0' end
Es ist in meinem Gemfile.lock:
$ cat Gemfile.lock | grep 'li sten' li sten (3.1.5) spring-watcher-l isten (2.0.0) li sten (>= 2.7, < 4.0) list en (~> 3.1.5) spr ing-watcher-lis ten (~> 2.0.0)
Ich habe das Bundle aktualisiert, installiert und überprüft gem install Li sten
, dass es funktioniert. Das hat Anfang dieser Woche funktioniert, aber ich habe kein Glück, es durch meine Commits zu bringen.
$ ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
Ich sehe es nicht in vendor/cache
, aber ich weiß nicht, was ich tun soll...
$ bundle package | grep 'li sten'
Danke für deine Hilfe!
Update:
Ich kann dies tun, indem ich das gem 'lis ten', '~> 3.1.5'
放入全局 Gemfile 中来“修复”该问题(并将其从 :development
entferne. Dann verschwinden alle Fehler und alles funktioniert gut, aber das scheint falsch zu sein.
P粉4638244102023-10-21 12:03:29
如果您使用的是 Rails 5 并且使用默认的 config/environments/development.rb 文件,它将包含这行代码。
config.file_watcher = ActiveSupport::EventedFileUpdateChecker
这需要 gem 监听。当我将 Rails 4 升级到 Rails 5 时,这让我有点困惑
编辑: 忘记提及,如果您注释掉该行代码,它将不再需要监听 gem。
P粉7041966972023-10-21 09:48:59
我将此作为答案发布,但我不喜欢它。
我可以通过将 gem 'listen', '~> 3.1.5'
放入全局 Gemfile 中(并将其从 :development
中删除)来“修复”该问题。然后所有错误都会消失,一切正常,但这似乎是错误的。