将MERN / Mongo Atlas应用程序部署到Heroku:“无法获取/”错误

时间:2020-09-30 18:06:16

标签: reactjs mongodb heroku deployment mern

我知道有很多关于此问题的帖子。我看到的一个常见修复是将Mongo Atlas上的白名单0.0.0.0/0授予Heroku访问数据库的权限。

我尝试过,并且在将白名单加入后我也尝试重新部署该应用程序,但这也不起作用。 坦白地说,距离部署任何东西已经有一段时间了,因此,如果我忘记了一些基本的知识,我深表歉意。

无论如何,我的流程:

  1. 使用以下终端cmds将应用程序部署到Heroku

heroku loginheroku git:remote -a app-namegit push heroku master

  1. 在Heroku上,打开应用程序

我的控制台出现以下错误:

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
  1. 在终端中启动服务器

我的应用在本地运行的cmd为npm run dev,它同时用于运行nodemon servernpm 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"
  }
}

0 个答案:

没有答案