gpt4 book ai didi

ruby-on-rails - Travis 构建失败并出现致命监听错误

转载 作者:行者123 更新时间:2023-11-28 20:27:38 25 4
gpt4 key购买 nike

我对 Rails 应用程序的 Travis 测试一直运行良好,但突然开始失败大约三分之一的时间:

$ bundle exec rails test
FATAL: Listen error: unable to monitor directories for changes.
Visit
https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
for info on how to fix this.

查看该建议的 URL,它提出了增加 inotify-watchers 数量的方法,但需要使用 sudo 来更改限制。这在我的开发机器上很好(虽然我实际上没有在我的机器上遇到错误),但我不知道这在 Travis 环境中是否可行(或可取)。

我查看了 Travis 文档,看看是否有增加观察者数量的配置设置,但我找不到任何东西。

那么:在 Travis CI 测试中处理此错误的最佳方法是什么?

最佳答案

如果你在 TravisCI 和 CI/staging/testing 服务器上运行它,你应该不需要监视文件的变化。代码应该部署到服务器,然后 bundle exec rails test 应该运行,就是这样。无需监视文件。

我怀疑您的环境的配置设置不正确,并且 listen gem 以某种方式在测试环境中被激活,而它应该只在开发环境中被激活。

尝试使用与 TravisCI 相同的环境在本地运行测试(本例中为 testing):

RAILS_ENV=testing bundle exec test

看看它说的是什么。如果出现该错误,请检查 config/environments/testing.rb 文件并查找 config.cache_classes

config.cache_classes 设置为 true 时,类会被缓存,监听/文件观察器将不会激活。 在您的本地开发环境 config/environments/development.rbconfig.cache_classes 设置应设置为 false,以便进行文件监视和重新加载。

关于ruby-on-rails - Travis 构建失败并出现致命监听错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48691151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com