Я работаю над примером приложения react / rails на основе this . Он работал нормально в течение нескольких дней, прежде чем возникла эта проблема, и я не могу понять, что ее вызвало или как ее исправить.
Я получаю такое поведение для любого порта, на котором я пытаюсь запустить веб-сервер .
В этом списке нет процессов, которые нужно убить: lsof -nP -iTCP:3000| grep LISTEN
Это также не показывает результатов: lsof -i tcp:3000
Кажется, что реакция начинается нормально (на 3000 ), затем запускается rails (на 3001), затем происходит какое-то столкновение, вызывающее его отключение.
Вот Procfile.dev, который я использую:
web: PORT=3000 yarn --cwd client run start
api: PORT=3001 bundle exec rails s
Реакция приложение находится в каталоге /client
внутри приложения rails.
Вот строка прокси из package.json
приложения реакции: "proxy": "http://localhost:3001/",
Вот вывод терминала:
$ bin/rake start
Running via Spring preloader in process 41869
[OKAY] Loaded ENV .env File as KEY=VALUE Format
12:38:45 PM web.1 | yarn run v1.22.4
12:38:45 PM web.1 | $ react-scripts start
12:38:46 PM api.1 | => Booting Puma
12:38:46 PM api.1 | => Rails 6.0.3.1 application starting in development
12:38:46 PM api.1 | => Run `rails server --help` for more startup options
12:38:46 PM web.1 | Something is already running on port 3000.
12:38:46 PM web.1 | Done in 1.06s.
[DONE] Killing all processes with signal SIGINT
12:38:46 PM web.1 Exited Successfully
12:38:46 PM api.1 | Exiting
12:38:46 PM api.1 Exited Successfully
Задача рейка (lib/tasks/start.rake
):
namespace :start do
task :development do
exec 'heroku local -f Procfile.dev'
end
end
desc 'Start development server'
task :start => 'start:development'
Спасибо за внимание!