3

Rails 5.2 アプリで次の gem を使用しています。

# /Gemfile

group :development do

  gem 'guard'
  gem 'guard-spring'
  gem 'guard-rspec'
  gem 'brakeman', require: false
  gem 'guard-brakeman'

  # ...

end

# ...

Brakeman は Guard で問題なく動作していましたが、最近何かが変わりました。

> bundle exec guard 

... usual startup trace 

------ brakeman warnings --------
00:52:13 - INFO - 6 brakeman findings
00:52:13 - ERROR - Guard::Brakeman failed to achieve its <start>, exception was:
> [#8fe733251410] NoMethodError: undefined method `gsub' for #<Brakeman::FilePath:0x00007f8d0f2c9ea0>
> [#8fe733251410] /Users/me/.rvm/gems/ruby-2.5.3@myapp/gems/guard-brakeman-0.8.3/lib/guard/brakeman.rb:206:in `decorate_warning'

...

00:52:13 - INFO - Guard::Brakeman has just been fired

gem repoを見ると、このエラーが発生する行の近くにコメントがあります

/lib/guard/brakeman.rb
# ...
# line 206
output << " near line #{warning.line}" if warning.line
if warning.file
  # fix this ish or wait for brakeman to be fixed
  filename = warning.file.gsub(@options[:app_path], '')
  # ...

他の誰かがこの問題を経験していますか? アプリを正しく構成していないため、Brakeman が Guard と連携できていませんか? それとも、宝石に問題がありますか?

4

1 に答える 1