2017-08-10 1 views
6

Rails 4.2.7 Wacht rspec 4.7.3Garde-rspec und ember funktioniert nicht gut zusammen

Da ich glut-cli-Schienen installiert, die glut App Wacht spec zu laufen verhindern und löst Hunderte von Fehlern . Hier ist ein Fehler:

Directory: /home/sylvain/dev/placedemarche/marketadmin/tmp/broccoli_merge_trees-output_path-rlX3b4rm.tmp/marketadmin/tests/unit 

    is already being watched through: /home/sylvain/dev/placedemarche/marketadmin/tmp/broccoli_persistent_filterbabel__babel_marketadmin-output_path-Nv8C3Z67.tmp/marketadmin/tests/unit 

    MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors 
    ** ERROR: directory is already being watched! ** 

ich mehrere Dinge in der guardfile versucht, auch alle der Uhr zu entfernen:

guard 'rspec',:cli => "--drb --format progress",all_after_pass: false do 
    # ignore /marketadmin/ 
    # watch(%r{^spec/(.+)_spec\.rb$}) { |m| "spec/#{m[1]}_spec.rb" } 
    # watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
    # watch('spec/spec_helper.rb') { "spec" } 

    # # Rails example 
    # watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    # watch(%r{^app/(.*)(\.erb|\.haml)$})     { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } 
    # watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] } 
    # watch(%r{^spec/support/(.+)\.rb$})     { "spec" } 
    # watch('config/routes.rb')       { "spec/routing" } 
    # watch('app/controllers/application_controller.rb') { "spec/controllers" } 
    # # Capybara request specs 
    # watch(%r{^app/views/(.+)/.*\.(erb|haml)$})   { |m| "spec/requests/#{m[1]}_spec.rb" } 
end 

ich versucht habe mehrere Version ignorieren, aber es immer noch nicht.

Das Problem ist im Grunde, dass die tmp Ordner Ember verwenden, um die Vorschau-App zu generieren machen Wache verrückt. Und es scheint, dass die Wache ignorieren nicht wirklich Wache den Ordner zu vermeiden, es scannt es immer noch.

Wie kann ich die Guard-Datei ignorieren den Ordner ember, so dass ich rspec-guard wiederherstellen kann?

guard 'rspec',:cli => "--drb --format progress",all_after_pass: false do 
    ignore(%r{^marketadmin/(.+)}) 
end 

Es schlägt mit dem folgenden Fehler nach wie vor (es gibt so viele Fehler ist i die Terminalspeicher auf 30 000 Linien 20, gesetzt hatte:

EDIT

Ich habe die guardfile wie folgt bearbeitet 000 war nicht genug):

18:24:39 - INFO - Guard::RSpec is running 
18:24:39 - DEBUG - Hook :start_end executed for Guard::RSpec 
D, [2017-08-24T18:25:00.166155 #20128] DEBUG -- : Waiting for processing to start... 
18:25:00 - INFO - Guard is now watching at '/home/sylvain/dev/placedemarche' 
18:25:00 - DEBUG - Start interactor 
     ** ERROR: directory is already being watched! ** 

     Directory: /home/sylvain/dev/placedemarche/marketadmin/tmp/funnel-input_base_path-WVhWKrYs.tmp 

     is already being watched through: /home/sylvain/dev/placedemarche/marketadmin/node_modules/qunit-notifications 

     MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors 
     ** ERROR: directory is already being watched! ** 

     Directory: /home/sylvain/dev/placedemarche/marketadmin/tmp/funnel-input_base_path-ULeE6XMF.tmp 

     is already being watched through: /home/sylvain/dev/placedemarche/marketadmin/app 

     MORE INFO: https://github.com/guard/listen/wiki/Duplicate-directory-errors 
+0

Ich war überrascht zu sehen, dass Sie den File watch glob nicht in Ember-cli oder ember build ändern können, wenn ich mich irre. – BookOfGreg

+0

Was ist die Datei watch glob? Das Problem liegt in der Wächterspezifikation im Projekt mit den Schienen. – Syl

+0

Kannst du Uhr bitten, "/.*/" zu ignorieren, um zu sehen, ob du alles ausblocken kannst? – BookOfGreg

Antwort

3

Wie ich in dem IRC-Kanal geschrieben habe ich nicht recht bekommen, die Unterordner Sie versuchen zu vermeiden?

Wenn ich zu meinem Guardfile am Anfang der Anweisungen ignore(%r{frontend/(.+)}), oder in Ihrem Fall ignore(%r{marketadmin/(.+)}) hinzufügen, ist es ziemlich erfolgreich zu ignorieren alles, was in der Frontend-App passiert.

Mein Guardfile wie folgt aussieht:

guard :rspec, cmd: "bundle exec rspec" do 
    require "guard/rspec/dsl" 
    dsl = Guard::RSpec::Dsl.new(self) 

    # Feel free to open issues for suggestions and improvements 

    ignore(%r{frontend/(.+)}) 
    # RSpec files 
    rspec = dsl.rspec 
    watch(rspec.spec_helper) { rspec.spec_dir } 
... 

ich keine Erfahrung mit Ember haben, und diese Brokkoli Sache, die Sie verwenden, vielleicht das Problem ist die Konfiguration dort getan?

kann Ein hilfreicher Befehl sein: Hoffnung

LISTEN_GEM_DEBUGGING=2 bundle exec guard -d 

die oben hilft. Prost!

Update: Überprüft die Fehler, die Sie sehen, und starten Sie die auf meine mock Setup zu sehen, nachdem die broccolli-funnel Installation, die symbolische Links erstellt, und der Hörer Juwel, das scheinen schützen Anwendungen mit ihnen zu haben Probleme, die ich nicht tun habe heute leider mal die zeit tiefer zu analysieren ... Vielleicht kannst du ein setup mit ember aus dem rails dir probieren.

+0

Es hat immer noch Probleme mit dem Ordner. Frage bearbeitet – Syl

Verwandte Themen