我有一個 API 模式 Rails 5 應用程序,它不允許我運行 rake paths
或 rails s
。我得到的錯誤是:
$ 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)
我已經驗證 li sten
位於我的 Gemfile 的開發群組中:
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
它在我的 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)
我已經更新了捆綁包,安裝了捆綁包,並驗證了 gem install Li sten
是否有效。這是本週早些時候的工作,但我沒有運氣通過我的承諾。
$ ruby -v ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
我在 vendor/cache
中沒有看到它,但我不知道該怎麼做...
$ bundle package | grep 'li sten'
感謝您的幫忙!
更新:
我可以透過將gem 'lis ten', '~> 3.1.5'
放入全域Gemfile 中來「修復」該問題(並將其從:development
中刪除)。然後所有錯誤都會消失,一切正常,但這似乎是錯的。
如果您使用的是 Rails 5 並且使用預設的 config/environments/development.rb 文件,它將包含這行程式碼。
這需要 gem 監聽。當我將 Rails 4 升級到 Rails 5 時,這讓我有點困惑
編輯: 忘記提及,如果您註解掉該行程式碼,它將不再需要監聽 gem。
我將此作為答案發布,但我不喜歡它。
我可以透過將
gem 'listen', '~> 3.1.5'
放入全域Gemfile 中(並將其從:development
中刪除)來“修復”該問題。然後所有錯誤都會消失,一切正常,但這似乎是錯的。