Heroku 部署时使用 vitejs 错误 H10(vite:未找到)

eyu*_*bkh 5 heroku node.js vite

我正在尝试在 heroku 中部署我的前端应用程序,但我得到的只是错误。我正在一个接一个地修复错误,但我不知道如何处理该错误。

顺便说一下我正在使用 vitejs

我从 heroku 日志中得到的错误

2021-07-30T11:30:06.680426+00:00 heroku[web.1]: Starting process with command `npm run dev`
2021-07-30T11:30:10.593125+00:00 app[web.1]: 
2021-07-30T11:30:10.593146+00:00 app[web.1]: > myapp@1.0.0 dev
2021-07-30T11:30:10.593146+00:00 app[web.1]: > vite
2021-07-30T11:30:10.593146+00:00 app[web.1]: 
2021-07-30T11:30:10.614517+00:00 app[web.1]: sh: 1: vite: not found
2021-07-30T11:30:10.686497+00:00 heroku[web.1]: Process exited with status 127
2021-07-30T11:30:10.789749+00:00 heroku[web.1]: State changed from starting to crashed
2021-07-30T11:38:04.881585+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=example.herokuapp.com dyno= connect= service= status=503 bytes= protocol=https
Run Code Online (Sandbox Code Playgroud)

我的包.json

{
  "name": "myapp",
  "description": "a really cool app",
  "version": "1.0.0",
  "engines": {
    "node": "<=16.x.x",
    "npm": "<=7.x.x"
  },
  "scripts": {
    "dev": "vite",
    "build": "vite build"
  },
  "dependencies": {
    "react": "17.0.0",
    "react-dom": "17.0.0",
    "styled-components": "5.3.0"
  },
  "devDependencies": {
    "@vitejs/plugin-react-refresh": "1.3.1",
    "vite": "2.4.2"
  },
  "peerDependencies": {
    "react-spring": "^9.2.4"
  }
}
Run Code Online (Sandbox Code Playgroud)

小智 9

在这里找到解决方案: https://github.com/vitejs/vite/issues/1215

您必须取消设置npm env或yarn env的生产模式,如下所示:

heroku config:set NPM_CONFIG_PRODUCTION=false YARN_PRODUCTION=false
Run Code Online (Sandbox Code Playgroud)

或者如果你使用 dokku :

dokku config:set my-app NPM_CONFIG_PRODUCTION=false YARN_PRODUCTION=false
Run Code Online (Sandbox Code Playgroud)