Не удается запустить localhost: 3000: отображается белая пустая страница

Я использую Rails 4.2.6 и Ruby 2.3.0 и Puma 3.3.0 В течение последних нескольких дней я запустил обновление пакета, и после rails все браузеры для одного URL localhost: 3000 отображают одну и ту же пустую страницу. Это согласуется со всеми 6-7 приложениями, с которыми я играю. Однако все работают в "производстве" при развертывании на Heroku. Кажется, это только вопрос, связанный с моим dev env.

Не знаю, как это решить. Любая помощь будет высоко оценена. Не могу продолжать разработка, если не удается запустить модульные тесты для кода, который я разрабатываю.

однако все работает хорошо, когда я использую другой порт. Например, при запуске сервера приложений с помощью команды rails s-p 3001 или порта 3002 у меня нет проблем с запуском приложений в любом браузере с помощью URL localhost:3001 или localhost:3002.

что не так с моим портом 3000 или Puma или обоими?

1 ответов


это может произойти локально в dev и никогда в "prod", т. е. Heroku из-за ошибки при остановке Puma. Несколько раз некоторые процессы не убиваются из-за:

levi-test-01 liviu-mac $ rails s
=> Booting Puma
=> Rails 4.2.6 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[4589] Puma starting in cluster mode...
[4589] * Version 3.3.0 (ruby 2.3.0-p0), codename: Jovial Platypus
[4589] * Min threads: 5, max threads: 5
[4589] * Environment: development
[4589] * Process workers: 2
[4589] * Preloading application
[4589] * Listening on tcp://localhost:3000
[4589] Use Ctrl-C to stop
[4589] - Worker 1 (pid: 4603) booted, phase: 0
[4589] - Worker 0 (pid: 4602) booted, phase: 0
^C[4589] - Gracefully shutting down workers...
/Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:355:in `delete': No such file or directory @ unlink_internal - /Users/liviu-mac/ror/levi-test-01/tmp/pids/server.pid (Errno::ENOENT)
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:355:in `block in write_pid'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:120:in `fork'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:120:in `block in spawn_workers'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:116:in `times'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:116:in `spawn_workers'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/cluster.rb:418:in `run'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/puma/launcher.rb:172:in `run'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/puma-3.3.0/lib/rack/handler/puma.rb:51:in `run'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-1.6.4/lib/rack/server.rb:286:in `start'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/server.rb:80:in `start'
    from /Users/liviu-mac/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-4.2.6/lib/rails/commands/commands_tasks.rb:80:in `block in server'

выполнение такой команды:

levi-test-01 liviu-mac $ lsof -i :3000

перечисляет все остальные процессы с помощью port 3000.

команду

levi-test-01 liviu-mac $ kill -9 PID

решает проблему.