Ошибка развертывания / CI Heroku NodeJS ReactJS - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь использовать Heroku CI для развертывания своего приложения и получаю сообщение об ошибке file is not found. Я пробовал разные решения и искал в Интернете, но не нашел ответа :( Я считаю, что проблема в пути ...

структура папок: клиент - построить ---- индекс. html сервер --index. js

** Heroku Log **

Enumerating objects: 60, done.
Counting objects: 100% (60/60), done.
Delta compression using up to 8 threads
Compressing objects: 100% (57/57), done.
Writing objects: 100% (57/57), 5.56 KiB | 1.39 MiB/s, done.
Total 57 (delta 36), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:        
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:        NODE_VERBOSE=false
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  12.16.3
remote:        engines.npm (package.json):   6.14.5
remote:
remote:        Resolving node version 12.16.3...
remote:        Downloading and installing node 12.16.3...
remote:        Bootstrapping npm 6.14.5 (replacing 6.14.4)...
remote:        npm 6.14.5 installed
remote:        
remote: -----> Restoring cache
remote:        - node_modules
remote:        
remote: -----> Installing dependencies
remote:        Installing node modules (package.json)
remote:        audited 263 packages in 2s
remote:        
remote:        11 packages are looking for funding
remote:          run `npm fund` for details
remote:
remote:        found 0 vulnerabilities
remote:
remote:
remote: -----> Build
remote:        Running heroku-postbuild
remote:        
remote:        > server@1.0.0 heroku-postbuild /tmp/build_*********************************
remote:        > NPM_CONFIG_PRODUCTION=false npm install --prefix client  && npm run build --prefix client
remote:
remote:        up to date in 0.226s
remote:        found 0 vulnerabilities
remote:
remote: npm ERR! code ENOENT
remote: npm ERR! syscall open
remote: npm ERR! path /tmp/build_*************************/client/package.json
remote: npm ERR! errno -2
remote: npm ERR! enoent ENOENT: no such file or directory, open '/tmp/build_****************************/client/package.json'
remote: npm ERR! enoent This is related to npm not being able to find a file.
remote: npm ERR! enoent
remote:
remote: npm ERR! A complete log of this run can be found in:
remote: npm ERR!     /tmp/npmcache.fAIFo/_logs/2020-05-26T15_57_05_433Z-debug.log
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! errno 254
remote: npm ERR! server@1.0.0 heroku-postbuild: `NPM_CONFIG_PRODUCTION=false npm install --prefix client  && npm run build --prefix client`
remote: npm ERR! Exit status 254
remote: npm ERR!
remote: npm ERR! Failed at the server@1.0.0 heroku-postbuild script.
remote: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
remote:
remote: npm ERR! A complete log of this run can be found in:
remote: npm ERR!     /tmp/npmcache.fAIFo/_logs/2020-05-26T15_57_05_446Z-debug.log
remote: 
remote: -----> Build failed
remote:        
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote:        If you're stuck, please submit a ticket so we can help:
remote:        https://help.heroku.com/
remote:
remote:        Love,
remote:        Heroku
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to *****.
remote:
To https://git.heroku.com/*****.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/******.git'

index. js (папка сервера)

if (process.env.NODE_ENV === "production") {
  //Express will serve up assets (main.js || main css)
  app.use(express.static("/client/build"));

  // Express will serve up the index.html file
  // if it doesn't recognize the route
  app.get("*", (req, res) => {
    res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
  });
}

** упаковка. json**

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