#node.js #reactjs #heroku #npm
Вопрос:
У меня есть приложение React, которое отлично работает на локальном компьютере со npm start
сценарием. Но как только я развертываю его на сервере Heroku, он выходит из строя, и когда я ищу журналы в Heroku, я вижу, что он выдает сообщение об ошибке:
npm err! Вероятно, это не проблема с npm. Вероятно, выше есть дополнительный вывод журнала.
Я много просмотрел разные вопросы и застрял. Я делюсь своим пакетом.json ниже, возможно, что-то не так с зависимостями.
Кстати, у меня нет никакого вызова API, http-запроса или чего-то еще в моем приложении. Все это чисто статические страницы.
пакет.json
{
"name": "----",
"version": "1.0.0",
"description": "----",
"author": {
"name": "---- LLC"
},
"contributors": [
{
"name": "-----"
}
],
"homepage": ".",
"copyright": "Copyright 2021 --- LLC",
"private": true,
"repository": {
"type": "git",
"url": "----"
},
"dependencies": {
"@coreui/chartjs": "^2.0.0",
"@coreui/coreui-pro": "^3.4.0",
"@coreui/icons": "^2.0.0-rc.0",
"@coreui/icons-react": "^1.0.2",
"@coreui/react": "^3.4.0",
"@coreui/react-chartjs": "^1.0.1",
"@wojtekmaj/enzyme-adapter-react-17": "^0.3.2",
"bootstrap-icons": "^1.5.0",
"classnames": "^2.2.6",
"enzyme": "^3.11.0",
"node-sass": "^4.14.1",
"react": "^17.0.1",
"react-app-polyfill": "^2.0.0",
"react-dom": "^17.0.1",
"react-grid-layout": "^1.2.0",
"react-quill": "^2.0.0-beta.2",
"react-redux": "~7.2.2",
"react-router-dom": "^5.2.0",
"react-select": "^3.1.1",
"redux": "~4.0.5",
"sass": "^1.37.5"
},
"devDependencies": {
"auto-changelog": "2.2.0",
"mutationobserver-shim": "^0.3.7",
"react-scripts": "^4.0.1"
},
"scripts": {
"start": ""react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 10",
"not op_mini all"
],
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx}",
"!**/*index.js",
"!src/serviceWorker.js",
"!src/polyfill.js"
]
}
}
и вот он-журнал отладки
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start' ]
2 info using npm@6.14.14
3 info using node@v14.17.5
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle joobla-web@0.1.0~prestart: joobla-web@0.1.0
6 info lifecycle joobla-web@0.1.0~start: joobla-web@0.1.0
7 verbose lifecycle joobla-web@0.1.0~start: unsafe-perm in lifecycle true
8 verbose lifecycle joobla-web@0.1.0~start: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/alizeynalov/joobla-web/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/alizeynalov/joobla-web/node_modules/.bin
9 verbose lifecycle joobla-web@0.1.0~start: CWD: /Users/alizeynalov/joobla-web
10 silly lifecycle joobla-web@0.1.0~start: Args: [ '-c', 'react-scripts start' ]
11 info lifecycle joobla-web@0.1.0~start: Failed to exec start script
12 verbose stack Error: joobla-web@0.1.0 start: `react-scripts start`
12 verbose stack spawn ENOENT
12 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18)
12 verbose stack at ChildProcess.emit (events.js:400:28)
12 verbose stack at maybeClose (internal/child_process.js:1055:16)
12 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
13 verbose pkgid joobla-web@0.1.0
14 verbose cwd /Users/alizeynalov/joobla-web
15 verbose Darwin 20.6.0
16 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
17 verbose node v14.17.5
18 verbose npm v6.14.14
19 error code ELIFECYCLE
20 error syscall spawn
21 error file sh
22 error errno ENOENT
23 error joobla-web@0.1.0 start: `react-scripts start`
23 error spawn ENOENT
24 error Failed at the joobla-web@0.1.0 start script.
24 error This is probably not a problem with npm. There is likely additional logging output above.
25 verbose exit [ 1, true ]
I think there is something going on with start script, but can’t figure out what is the problem.