Не удается просмотреть приложение Express / React в Heroku (одновременно не найдено) - PullRequest
0 голосов
/ 06 января 2019

У меня проблемы с просмотром проекта Node / Express + React в Heroku. После успешной отправки моего проекта в Heroku при попытке просмотреть мое приложение в heroku появляется страница с ошибкой 404.

Heroku Logs показывает, что пакет concurrently не найден

Мне было интересно, может ли кто-нибудь помочь мне понять, почему? Все работает локально. Без вопросов. Я не смог найти никаких решений. Я пробовал это: https://github.com/RickWong/react-isomorphic-starterkit/issues/12

Я попытался установить переменную окружения в heroku со следующим предложением:

heroku config:set NPM_CONFIG_PRODUCTION=false

Однако это не сработало.

Я также нашел это:

https://github.com/rickbergfalk/sqlpad/issues/359

Я дважды пытался переустановить concurrently, как в папке сервера, так и в корне. Но в каждом случае я получал одну и ту же ошибку, сообщая, что concurrently не найден.

Вот журнал Heroku:

2019-01-05T04:44:42.843348+00:00 heroku[web.1]: Starting process with command `npm start`
2019-01-05T04:44:45.795355+00:00 heroku[web.1]: Process exited with status 1
2019-01-05T04:44:45.817371+00:00 heroku[web.1]: State changed from starting to crashed
2019-01-05T04:44:45.825275+00:00 heroku[web.1]: State changed from crashed to starting
2019-01-05T04:44:45.691080+00:00 app[web.1]: 
2019-01-05T04:44:45.691107+00:00 app[web.1]: > hello_fullstack@1.0.0 start /app
2019-01-05T04:44:45.691110+00:00 app[web.1]: > concurrently -- kill-others "npm run server" "npm run client"
2019-01-05T04:44:45.691112+00:00 app[web.1]: 
2019-01-05T04:44:45.699841+00:00 app[web.1]: sh: 1: concurrently: not found
2019-01-05T04:44:45.704281+00:00 app[web.1]: npm ERR! file sh
2019-01-05T04:44:45.704664+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2019-01-05T04:44:45.704985+00:00 app[web.1]: npm ERR! errno ENOENT
2019-01-05T04:44:45.705300+00:00 app[web.1]: npm ERR! syscall spawn
2019-01-05T04:44:45.706913+00:00 app[web.1]: npm ERR! hello_fullstack@1.0.0 start: `concurrently -- kill-others "npm run server" "npm run client"`
2019-01-05T04:44:45.707140+00:00 app[web.1]: npm ERR! spawn ENOENT
2019-01-05T04:44:45.707475+00:00 app[web.1]: npm ERR!
2019-01-05T04:44:45.707708+00:00 app[web.1]: npm ERR! Failed at the hello_fullstack@1.0.0 start script.
2019-01-05T04:44:45.708000+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-01-05T04:44:45.718125+00:00 app[web.1]: 
2019-01-05T04:44:45.718481+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-01-05T04:44:45.718674+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-01-05T04_44_45_709Z-debug.log

Есть предложения?

(Не уверен, что это имеет значение, но моя среда разработки находится в Ubuntu, который я запускаю в virtualbox; host os - Windows 8)

1 Ответ

0 голосов
/ 11 января 2019

Я нашел решение своей проблемы.

После борьбы с этим я решил просто начать все сначала и создать пример приложения реагирования / экспрессии и посмотреть, смогу ли я развернуть его на heroku. После успешного развертывания я сравнил код моего примера приложения и моего сломанного приложения. Затем мне пришло в голову, что, возможно, проблема была в командах, которые я назначил сценарию heroku-postbuild в файле package.json моей корневой папки.

Раньше у меня был этот хлам:

"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"

Я изменил это на:

"heroku-postbuild": "cd client && npm install && npm run build"

И, как по волшебству, это сработало! Я предполагаю, что я не "строил" то, что я должен был строить на стороне героку.

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