2016-05-24 6 views
3

Ich habe gerade Rubocop in meinem Ruby on Rails-Projekt verwendet und einen Git-Zweig erstellt, um Refactor zu erstellen und Rubocop mit meinen Wünschen zu beschleunigen. Ich habe schließlich keine Straftaten, wenn ich den folgenden Befehl ausführenVerschiedene Rubocop-Ergebnisse basierend auf lokalen oder CircleCI

$ rubocop 

Allerdings habe ich versucht Rubocop in zu integrieren meine CircleCI bauen und das ist, wo ich Probleme. Hier ist der relevante Teil meiner circle.yml Datei:

test: 
    post: 
    - bundle exec rubocop 

Das Problem ist, lokal Rubocop sagt es inspiziert 68 Dateien aber auf CircleCI sagt er es 5624 Dateien inspiziert. Deshalb vergeht es nicht. Was würde mich veranlassen, eine andere Ausgabe zu erhalten, wenn ich lokal oder auf CircleCI laufe?

Auch, wenn ich laufen:

bundle exec rubocop 

vor Ort habe ich den Ausgang ich erwarte (68 Dateien, die alle gut).

Antwort

1

Ich finde es heraus.

Ich bin mir nicht sicher warum, aber aus irgendeinem Grund auf meinem lokalen Host ignoriert es die Vendor-Datei, aber auf CircleCI war es nicht so habe ich es der .rubocop.yml-Datei hinzugefügt.

+0

Einige zusätzliche Details: CircleCI installiert Edelsteine ​​in den 'vendor /' Ordner, was nicht in einem traditionellen 'rbenv' Setup passiert. Das Hinzufügen von 'vendor/**/*' zur 'Exclude' Taste unter' AllCops' verhindert, dass alle Edelsteine ​​beim Ausführen von 'bundle exec rubocop' gescannt werden. Rubocop docs: https://github.com/bbatsov/rubocop/blob/master/manual/configuration.md#includingexcluding-files – djb

+0

Nützlicher Befehl zum Debuggen von rubocop-Problemen: 'rubocop -d' https://github.com/bbatsov/rubocop/issues/1652 # issuecomment-74373641 – djb