首頁  >  問答  >  主體

LoadError:無法載入「監 聽」寶石(軌道 5)

我有一個 API 模式 Rails 5 應用程序,它不允許我運行 rake pathsrails 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 中刪除)。然後所有錯誤都會消失,一切正常,但這似乎是錯的。

P粉087074897P粉087074897365 天前496

全部回覆(2)我來回復

  • P粉463824410

    P粉4638244102023-10-21 12:03:29

    如果您使用的是 Rails 5 並且使用預設的 config/environments/development.rb 文件,它將包含這行程式碼。

    config.file_watcher = ActiveSupport::EventedFileUpdateChecker

    這需要 gem 監聽。當我將 Rails 4 升級到 Rails 5 時,這讓我有點困惑

    編輯: 忘記提及,如果您註解掉該行程式碼,它將不再需要監聽 gem。

    回覆
    0
  • P粉704196697

    P粉7041966972023-10-21 09:48:59

    我將此作為答案發布,但我不喜歡它。

    我可以透過將gem 'listen', '~> 3.1.5' 放入全域Gemfile 中(並將其從:development 中刪除)來“修復”該問題。然後所有錯誤都會消失,一切正常,但這似乎是錯的。

    回覆
    0
  • 取消回覆