我知道有很多关于此问题的帖子。我看到的一个常见修复是将Mongo Atlas上的白名单0.0.0.0/0授予Heroku访问数据库的权限。
我尝试过,并且在将白名单加入后我也尝试重新部署该应用程序,但这也不起作用。 坦白地说,距离部署任何东西已经有一段时间了,因此,如果我忘记了一些基本的知识,我深表歉意。
无论如何,我的流程:
heroku login
,
heroku git:remote -a app-name
,
git push heroku master
我的控制台出现以下错误:
app-name.herokuapp.com/:1 Failed to load resource: the server responded with a status of 404 (Not Found)
app-name.herokuapp.com/:1 Refused to load the image 'https://app-name.herokuapp.com/favicon.ico' because it violates the following Content Security Policy directive: "default-src 'none'". Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
app-name.herokuapp.com/:1 Failed to load resource: the server responded with a status of 404 (Not Found)
Heroku日志:
2020-09-30T17:32:50.085184+00:00 app[web.1]:
2020-09-30T17:32:50.085206+00:00 app[web.1]: > app-name@1.0.0 start /app
2020-09-30T17:32:50.085206+00:00 app[web.1]: > node server.js
2020-09-30T17:32:50.085207+00:00 app[web.1]:
2020-09-30T17:32:50.741371+00:00 app[web.1]: WARNING: NODE_ENV value of 'production' did not match any deployment config file names.
2020-09-30T17:32:50.742187+00:00 app[web.1]: WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
2020-09-30T17:32:50.792845+00:00 app[web.1]: Server started on port: 45624
2020-09-30T17:32:51.002983+00:00 app[web.1]: Connected to MongoDB..
2020-09-30T17:32:51.085455+00:00 heroku[web.1]: State changed from starting to up
2020-09-30T17:33:16.267290+00:00 heroku[router]: at=info method=GET path="/" host=app-name.herokuapp.com request_id=a5a8caa9-76bc-4ed6-92b9-360856613a70 fwd="67.243.187.129" dyno=web.1 connect=1ms service=24ms status=404 bytes=383 protocol=https
2020-09-30T17:34:13.165875+00:00 app[api]: Starting process with command `npm run dev` by user d.cint88@gmail.com
2020-09-30T17:34:21.327003+00:00 heroku[run.8330]: State changed from starting to up
2020-09-30T17:34:21.583207+00:00 heroku[run.8330]: Awaiting client
2020-09-30T17:34:21.619341+00:00 heroku[run.8330]: Starting process with command `npm run dev`
2020-09-30T17:34:31.061875+00:00 heroku[run.8330]: Process exited with status 1
2020-09-30T17:34:31.121147+00:00 heroku[run.8330]: State changed from up to complete
我的应用在本地运行的cmd为npm run dev
,它同时用于运行nodemon server
和npm start
因此,我尝试仅在其开头添加heroku run
。所以... heroku run npm run dev
这是结果
Running npm run dev on ⬢ app-name... up, run.8330 (Free)
> app-name@1.0.0 dev /app
> concurrently "npm run server" "npm run client"
[0]
[0] > app-name@1.0.0 server /app
[0] > nodemon server.js
[0]
[0] sh: 1: nodemon: not found
[0] npm ERR! code ELIFECYCLE
[0] npm ERR! syscall spawn
[0] npm ERR! file sh
[0] npm ERR! errno ENOENT
[0] npm ERR! app-name@1.0.0 server: `nodemon server.js`
[0] npm ERR! spawn ENOENT
[0] npm ERR!
[0] npm ERR! Failed at the app-name@1.0.0 server script.
[0] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[0]
[0] npm ERR! A complete log of this run can be found in:
[0] npm ERR! /app/.npm/_logs/2020-09-30T17_34_26_618Z-debug.log
[0] npm run server exited with code 1
[1]
[1] > app-name@1.0.0 client /app
[1] > npm start --prefix client
[1]
[1]
[1] > client@0.1.0 start /app/client
[1] > react-scripts start
[1]
[1] sh: 1: react-scripts: not found
[1] npm ERR! code ELIFECYCLE
[1] npm ERR! syscall spawn
[1] npm ERR! file sh
[1] npm ERR! errno ENOENT
[1] npm ERR! client@0.1.0 start: `react-scripts start`
[1] npm ERR! spawn ENOENT
[1] npm ERR!
[1] npm ERR! Failed at the client@0.1.0 start script.
[1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[1] npm WARN Local package.json exists, but node_modules missing, did you mean to install?
[1]
[1] npm ERR! A complete log of this run can be found in:
[1] npm ERR! /app/.npm/_logs/2020-09-30T17_34_27_709Z-debug.log
[1] npm ERR! code ELIFECYCLE
[1] npm ERR! errno 1
[1] npm ERR! app-name@1.0.0 client: `npm start --prefix client`
[1] npm ERR! Exit status 1
[1] npm ERR!
[1] npm ERR! Failed at the app-name@1.0.0 client script.
[1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[1]
[1] npm ERR! A complete log of this run can be found in:
[1] npm ERR! /app/.npm/_logs/2020-09-30T17_34_27_875Z-debug.log
[1] npm run client exited with code 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! app-name@1.0.0 dev: `concurrently "npm run server" "npm run client"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the smash-hosting@1.0.0 dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /app/.npm/_logs/2020-09-30T17_34_27_981Z-debug.log
这是我的package.json,以防万一您也需要它:
{
"name": "app-name",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"client-install": "npm install --prefix client",
"start": "node server.js",
"server": "nodemon server.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"bcryptjs": "^2.4.3",
"concurrently": "^5.0.0",
"config": "^3.2.4",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"moment": "^2.26.0",
"mongoose": "^5.7.12",
"react-icons": "^3.10.0",
"react-tournament-bracket": "^0.2.4"
},
"devDependencies": {
"nodemon": "^1.19.4"
}
}