Почему Guard Livereload не запускает сервер?

Я настроил Guard и Guar-Livereload в своем новом проекте Rails так же, как и в предыдущем: Gemfile:

group :development do
    gem 'spork-rails', '4.0.0'
    gem 'guard-spork', '1.5.0'
    gem 'childprocess'
    gem "rspec-rails"
    gem 'guard-livereload', require: false
    gem 'spring'
    gem "guard-rspec"
end

И в моем Guardfile:

guard 'livereload' do
  watch(%r{app/views/.+\.(erb|haml|slim)$})
  watch(%r{app/helpers/.+\.rb})
  watch(%r{app/assets/.+\.rb})
  watch(%r{app/assets/.+\.(css|js|scss|jpg|png)})
  watch(%r{public/.+\.(css|js|html)})
  watch(%r{config/locales/.+\.yml})
  # Rails Assets Pipeline
  watch(%r{(app|vendor)(/assets/\w+/(.+\.(css|js|html|png|jpg))).*}) { |m| "/assets/#{m[3]}" }
end

Который был создан после выдачи команды guard init guard-livereload. Когда я выдаю guard, я вижу следующие сообщения:

18:35:41 - INFO - Guard is using TerminalTitle to send notifications.
18:35:43 - INFO - Guard::RSpec is running
18:35:43 - INFO - LiveReload is waiting for a browser to connect.
18:35:43 - INFO - Guard is now watching at             '/Volumes/volume/Users/myuser/Documents/RubyApps/myapp'
[1] guard(main)>

Но сервер не запускается, однако, если я rails s, сервер запустится и будет виден во внешнем интерфейсе. Это наводит меня на мысль, что проблема в Guard. Может кто-то указать мне верное направление?

Большое спасибо

EDIT Добавлена ​​консоль после запуска guard -d:

18:31:56 - DEBUG - Command execution: emacsclient --eval '1' 2> /dev/null || echo 'N/A'
18:31:56 - INFO - Guard is using TerminalTitle to send notifications.
18:31:57 - DEBUG - Command execution: hash stty
18:31:57 - DEBUG - Guard starts all plugins
18:31:57 - DEBUG - Hook :start_begin executed for Guard::RSpec
18:31:57 - INFO - Guard::RSpec is running
18:31:57 - DEBUG - Hook :start_end executed for Guard::RSpec
18:31:57 - DEBUG - Hook :start_begin executed for Guard::LiveReload
18:31:57 - DEBUG - Hook :start_end executed for Guard::LiveReload
18:31:57 - INFO - LiveReload is waiting for a browser to connect.
18:31:57 - INFO - Guard is now watching at    '/Volumes/fenix/Users/wagner/Documents/htdocs/RubyApps/turing'
18:31:57 - DEBUG - Start interactor
18:31:57 - DEBUG - Command execution: stty -g 2>/dev/null`

person WagnerMatosUK    schedule 18.12.2014    source источник


Ответы (1)


посмотрите на недавний комментарий @ec2 по этому поводу:

для livereload запустите guard с параметром '-d' (связав exec guard -d), и вы должны увидеть выполнение Hook :run_on_modifications_begin для Guard::LiveReload. Сообщите нам, получили ли вы это сообщение или нет (следующий шаг зависит от ответа). И, конечно же, убедитесь, что в вашем браузере действительно включена функция livereload (мне приходится включать ее каждый раз, когда я запускаю проект) — в идеале просто откройте статический html-файл в браузере, отредактируйте этот файл и проверьте — он должен работать.

person Daniël W. Crompton    schedule 19.12.2014
comment
Я запустил, как вы предложили, и не получил сообщение Hook:run_on_modification_begin. Я отредактировал свой вопрос, чтобы добавить сообщение - person WagnerMatosUK; 20.12.2014
comment
Не могли бы вы опубликовать весь Guardfile? - person Daniël W. Crompton; 21.12.2014