将MERN部署到Heroku失败

时间:2020-05-24 20:29:03

标签: node.js reactjs heroku deployment mean-stack

我正在尝试将该站点部署到Heroku,但这给了我部署错误 这是我的GitHub代码:https://github.com/hazem-kamel/Guestbook-MERN

日志:

 Installing dependencies
       Installing node modules (package.json + package-lock)

       > nodemon@2.0.2 postinstall /tmp/build_d37d1bf6b721c463128a9d76ebc0c69a/node_modules/nodemon
       > node bin/postinstall || exit 0

       Love nodemon? You can now support the project via the open collective:
        > https://opencollective.com/nodemon/donate

       added 194 packages from 102 contributors and audited 195 packages in 4.934s

       2 packages are looking for funding
         run `npm fund` for details

       found 2 low severity vulnerabilities
         run `npm audit fix` to fix them, or `npm audit` for details

-----> Build
       Running build

       > Backend@1.0.0 build /tmp/build_d37d1bf6b721c463128a9d76ebc0c69a
       > run-p build:**

sh: 1: run-p: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! Backend@1.0.0 build: `run-p build:**`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the Backend@1.0.0 build 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!     /tmp/npmcache.AjLZ0/_logs/2020-05-24T20_24_12_312Z-debug.log
-----> Build failed

       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys

       Some possible problems:

       - Node version not specified in package.json
         https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version

       Love,
       Heroku

 !     Push rejected, failed to compile Node.js app.
 !     Push failed

我尝试了几种代码,但是也失败了:我正在使用GitHub代码和Heroku自动部署进行部署

2 个答案:

答案 0 :(得分:0)

分别安装/添加到您的npm / yarn:https://www.npmjs.com/package/npm-run-all

此外,构建Heroku应用程序时的首选方法是删除node_modules文件夹,然后仅上传package.json(其中包含要安装的依赖项!)。 Heroku在部署应用程序时会自动扫描package.json文件并安装所有依赖关系。

答案 1 :(得分:0)

即使在安装了npm-run-all之后,仍然面临在Heroku上安装的问题。 有什么想法吗?

理想情况下,客户端和服务器应分别托管,但即使出于开发目的,也无法部署到heroku。