Как исправить ошибку «порт уже используется» при попытке запустить приложение Rails + React локально на Ma c? - PullRequest
1 голос
/ 20 июня 2020

Я работаю над примером приложения 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'

Спасибо за внимание!

Ответы [ 2 ]

0 голосов
/ 23 июня 2020

В итоге я просто стер репо и клонировал старую версию. Сейчас все работает нормально, просто пропал как рабочий день. Думаю, для меня этого достаточно.

0 голосов
/ 22 июня 2020

сделать export PORT = 'portNumber' (без кавычек) непосредственно перед запуском npm start

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...