Application error when deploying ReactJS app to Heroku - node.js

I am trying to deploy my reactjs app to heroku. The deployment is successful, but whenever I open up the application, it just displays Application Error.
I have already added https://github.com/mars/create-react-app-buildpack into the buildpack in heroku settings and created a procfile with web: bin/boot inside of it.
This is the build log:
-----> Building on the Heroku-20 stack
-----> Using buildpacks:
1. heroku/nodejs
2. https://github.com/mars/create-react-app-buildpack
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): unspecified
engines.npm (package.json): unspecified (use default)
Resolving node version 16.x...
Downloading and installing node 16.15.0...
Using default npm version: 8.5.5
-----> Restoring cache
Cached directories were not restored due to a change in version of node, npm, yarn or stack
Module installation may take longer for this build
-----> Installing dependencies
Installing node modules
added 1927 packages, and audited 1928 packages in 40s
80 packages are looking for funding
run `npm fund` for details
68 vulnerabilities (14 low, 17 moderate, 32 high, 5 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
-----> Build
Running build
> geoffhui.github.io#0.1.0 build
> react-scripts build
Creating an optimized production build...
Compiled with warnings.
./src/functions/data.js
Line 1: Multiline support is limited to browsers supporting ES5 only no-multi-str
./src/App.js
Line 20: Expected a default case default-case
Line 28: Expected a default case default-case
Line 78: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
Line 85: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
./src/components/FolderDataContainer.js
Line 34: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
File sizes after gzip:
48.24 KB build/static/js/1.0df6a7a0.chunk.js
2.33 KB build/static/js/main.b4134d42.chunk.js
1.32 KB build/static/css/main.618b06ac.chunk.css
763 B build/static/js/runtime~main.229c360f.js
The project was built assuming it is hosted at the server root.
You can control this with the homepage field in your package.json.
For example, add this to build it for GitHub Pages:
"homepage" : "http://myname.github.io/myapp",
The build folder is ready to be deployed.
You may serve it with a static server:
npm install -g serve
serve -s build
Find out more about deployment here:
-----> Caching build
- node_modules
-----> Pruning devDependencies
up to date, audited 1912 packages in 4s
77 packages are looking for funding
run `npm fund` for details
68 vulnerabilities (14 low, 17 moderate, 32 high, 5 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
-----> Build succeeded!
-----> React.js (create-react-app) multi app detected
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-multi.git
=====> Detected Framework: Multipack
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git
=====> Detected Framework: Node.js
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_HOME=/tmp/build_cefa3715/.heroku/node
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): unspecified
engines.npm (package.json): unspecified (use default)
Resolving node version 16.x...
Downloading and installing node 16.15.0...
Using default npm version: 8.5.5
-----> Restoring cache
Cached directories were not restored due to a change in version of node, npm, yarn or stack
Module installation may take longer for this build
-----> Installing dependencies
Prebuild detected (node_modules already exists)
Rebuilding any native modules
rebuilt dependencies successfully
Installing any new modules (package.json)
added 16 packages, and audited 1928 packages in 7s
80 packages are looking for funding
run `npm fund` for details
68 vulnerabilities (14 low, 17 moderate, 32 high, 5 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
-----> Build
Running build
> geoffhui.github.io#0.1.0 build
> react-scripts build
Creating an optimized production build...
Compiled with warnings.
./src/functions/data.js
Line 1: Multiline support is limited to browsers supporting ES5 only no-multi-str
./src/App.js
Line 20: Expected a default case default-case
Line 28: Expected a default case default-case
Line 78: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
Line 85: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
./src/components/FolderDataContainer.js
Line 34: Using target="_blank" without rel="noopener noreferrer" is a security risk: see https://mathiasbynens.github.io/rel-noopener react/jsx-no-target-blank
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
File sizes after gzip:
48.24 KB build/static/js/1.0df6a7a0.chunk.js
2.33 KB build/static/js/main.b4134d42.chunk.js
1.32 KB build/static/css/main.618b06ac.chunk.css
763 B build/static/js/runtime~main.229c360f.js
The project was built assuming it is hosted at the server root.
You can control this with the homepage field in your package.json.
For example, add this to build it for GitHub Pages:
"homepage" : "http://myname.github.io/myapp",
The build folder is ready to be deployed.
You may serve it with a static server:
npm install -g serve
serve -s build
Find out more about deployment here:
-----> Caching build
- node_modules
-----> Pruning devDependencies
up to date, audited 1912 packages in 4s
77 packages are looking for funding
run `npm fund` for details
68 vulnerabilities (14 low, 17 moderate, 32 high, 5 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
-----> Build succeeded!
=====> Downloading Buildpack: https://github.com/mars/create-react-app-inner-buildpack.git#v9.0.0
=====> Detected Framework: React.js (create-react-app)
Writing `static.json` to support create-react-app
Enabling runtime environment variables
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-static.git
=====> Detected Framework: Static HTML
-----> Installed nginx 1.21.3 to /app/bin
Using release configuration from last framework (Static HTML).
-----> Discovering process types
~ Mis-cased procfile detected; ignoring.
~ Rename it to Procfile to have it honored.
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing...
Done: 113.5M
-----> Launching...
Released v13
https://geoff-portfolio.herokuapp.com/ deployed to Heroku
Any ideas?

I've seen you are using two build packs
-----> Using buildpacks:
1. heroku/nodejs
2. https://github.com/mars/create-react-app-buildpack
Could you try to remove heroku/nodejs and keep only create-react-app-buildpack?
Steps : App -> Settings -> buildpacks
settings

Related

My Heroku App stucks at Pending status on GitHub

First of all, hello everyone. I created a bot for Telegram that I wrote with node.js. When I want to deploy it on Heroku, it continues to deploy for a very long time (Approximately 20mins and failure). When I want to try the bot on telegram it works fine. But I still see "Pending" text instead of "Success" in the Github Environments section. What can I do? The logs are like this:
-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): 16.14
engines.npm (package.json): 8.5
Resolving node version 16.14...
Downloading and installing node 16.14.2...
Bootstrapping npm 8.5 (replacing 8.5.0)...
npm 8.5 installed
-----> Installing dependencies
Installing node modules
added 126 packages, and audited 127 packages in 2s
16 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build
Running build
> pokedex-bot-telegram#1.0.0 build
> node index.js
-----> Timed out running buildpack Node.js
Terminated
! Push failed
Below is the JSON extracted from the comments from your question. This helps with solving the issue.
{
​"scripts"​: {
​"start"​: ​"​node index.js​"​,
​"build"​: ​"​node index.js​"​,
​"dev"​: ​"​nodemon index.js​"
}
}
The solution is to delete the build step.
This is because start and build are doing the exact same things, so there's no point in running it twice.
When you remove the build part, and run it again, it should complete everything, without getting stuck on build.

Cannot deploy new v4 strapi project to Heroku or Render - getting “401 Unauthorized” error on fontawesome package request

I am trying to create a brand new strapi v4 project and that works fine locally but when I try and deploy it to Render or Heroku (which I’ve done before many times on Strapi v3) I get a build error when it tries to grab fontawesome-free-5.15.4.tgz from fontawesome. The error log I get on both Render and Heroku is:
error An unexpected error occurred: "https://npm.fontawesome.com/#fortawesome/fontawesome-free/-/5.15.4/fontawesome-free-5.15.4.tgz: Request failed \"401 Unauthorized\"".
info If you think this is a bug, please open a bug report with the information provided in "/tmp/build_2d005b2a/yarn-error.log".
Is there something I can do to solve the issue? If I go to https://npm.fontawesome.com/#fortawesome/fontawesome-free/-/5.15.4/fontawesome-free-5.15.4.tgz myself, it asks for a username and password so I’m assuming that when Render/Heroku try and hit that URL they don’t have a username and password to send. (And the same goes for all the different npm.fontawesome.com links in the yarn.lock file).
If this is the case, why does the project build and run fine locally? Shouldn’t I also have to input those credentials? Do they need to be added as environment variables on Render/Heroku somehow?
Sorry, I’m quite new to all this! I was following this tutorial on the Strapi blog: https://strapi.io/blog/deploying-a-strapi-api-on-heroku
Any help is greatly appreciated.
Thanks!
P.S. Here is the full error log from Heroku:
-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
USE_YARN_CACHE=true
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): >=12.x.x <=16.x.x
engines.npm (package.json): >=6.0.0
engines.yarn (package.json): unspecified (use default)
Resolving node version >=12.x.x <=16.x.x...
Downloading and installing node 16.14.1...
Bootstrapping npm >=6.0.0 (replacing 8.5.0)...
npm >=6.0.0 installed
Resolving yarn version 1.22.x...
Downloading and installing yarn (1.22.17)
Installed yarn 1.22.17
-----> Installing dependencies
Installing node modules (yarn.lock)
yarn install v1.22.17
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://npm.fontawesome.com/#fortawesome/fontawesome-free/-/5.15.4/fontawesome-free-5.15.4.tgz: Request failed \"401 Unauthorized\"".
info If you think this is a bug, please open a bug report with the information provided in "/tmp/build_2d005b2a/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
-----> 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:
- Dangerous semver range (>) in engines.node
https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
Love,
Heroku
! Push rejected, failed to compile Node.js app.
! Push failed

Heroku deployment failiure

i tried to push my angular app to heroku, followed some steps on internet that told me to change the package.json and make a server.js. But in the end i got the message saying "Not found"
when i tried to see the webpage through the link https://silenxika.herokuapp.com/ thus seeking for help now
Below is the build log
-----> Building on the Heroku-20 stack
-----> Using buildpack: heroku/nodejs
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): 16.13.2
engines.npm (package.json): 8.1.2
Resolving node version 16.13.2...
Downloading and installing node 16.13.2...
npm 8.1.2 already installed with node
-----> Restoring cache
- node_modules
-----> Installing dependencies
Installing node modules
added 1016 packages, and audited 1017 packages in 28s
91 packages are looking for funding
run `npm fund` for details
41 vulnerabilities (3 low, 38 moderate)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
-----> Build
Detected both "build" and "heroku-postbuild" scripts
Running heroku-postbuild
> silenxika#0.0.0 heroku-postbuild
> ng build --prod
Option "--prod" is deprecated: No need to use this option as this builder defaults to configuration "production".
- Generating browser application bundles (phase: setup)...
✔ Browser application bundle generation complete.
✔ Browser application bundle generation complete.
- Copying assets...
✔ Copying assets complete.
- Generating index html...
✔ Index html generation complete.
Initial Chunk Files | Names | Raw Size | Estimated Transfer Size
./src/styles.css.webpack[javascript/auto]!=!./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].rules[0].oneOf[0].use[2]!./src/styles.css - Warning: Module Warning (from ./node_modules/postcss-loader/dist/cjs.js):
Warning
(8:1) postcss-import: #import must precede all other statements (besides #charset)
Warning: /tmp/build_fe342bb2/src/app/main/navbar/navbar.component.css exceeded maximum budget. Budget 2.00 kB was not met by 381 bytes with a total of 2.37 kB.
Warning: /tmp/build_fe342bb2/src/app/pr/productblocks/productblocks.component.css exceeded maximum budget. Budget 2.00 kB was not met by 468 bytes with a total of 2.46 kB.
Warning: /tmp/build_fe342bb2/src/app/pr/productdiscordbot/productdiscordbot.component.css exceeded maximum budget. Budget 2.00 kB was not met by 478 bytes with a total of 2.47 kB.
Warning: /tmp/build_fe342bb2/src/app/pr/productpython/productpython.component.css exceeded maximum budget. Budget 2.00 kB was not met by 490 bytes with a total of 2.48 kB.
Warning: /tmp/build_fe342bb2/src/app/pr/productwebapps/productwebapps.component.css exceeded maximum budget. Budget 2.00 kB was not met by 477 bytes with a total of 2.47 kB.
main.5712c2806cc4359c.js | main | 215.14 kB | 53.95 kB
polyfills.25274fd5295a26dd.js | polyfills | 36.22 kB | 11.51 kB
runtime.65e870f2d783c48d.js | runtime | 1.05 kB | 602 bytes
styles.9a90c74daf5db7df.css | styles | 550 bytes | 227 bytes
| Initial Total | 252.94 kB | 66.27 kB
Build at: 2022-01-24T08:56:09.827Z - Hash: c130164e2fe9624a - Time: 20079ms
-----> Caching build
- node_modules
-----> Pruning devDependencies
removed 1 package, and audited 74 packages in 4s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build succeeded!
-----> Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing...
Done: 49.6M
-----> Launching...
Released v5
https://silenxika.herokuapp.com/ deployed to Heroku

Heroku deploy succeeds but shows application error

Right now, I'm using Heroku to deploy my app from GitHub. Here's deploy output log:
-----> Building on the Heroku-20 stack
-----> Determining which buildpack to use for this app
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_VERBOSE=false
NODE_ENV=production
NODE_MODULES_CACHE=true
-----> Installing binaries
engines.node (package.json): 16.x
engines.npm (package.json): unspecified (use default)
Resolving node version 16.x...
Downloading and installing node 16.3.0...
Using default npm version: 7.15.1
-----> Installing dependencies
Installing node modules (package.json)
added 149 packages, and audited 150 packages in 9s
10 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build
-----> Caching build
- node_modules
-----> Pruning devDependencies
up to date, audited 150 packages in 866ms
10 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
-----> Build succeeded!
-----> Discovering process types
Procfile declares types -> (none)
Default types for buildpack -> web
-----> Compressing...
Done: 48M
-----> Launching...
Released v3
https://dino-pack.herokuapp.com/ deployed to Heroku
However, when I go to dino-pack.herokuapp.com, it shows me this:
What is the problem, and how can I fix it? I've tried deleting and re-making the application, but it still shows this.
Check if your setup was done correctly, Procfile and the package.json. Follow a setup guide to double check. I'm sure it's a silly error but we need more info to find out what it is.
As near as I can tell from your logs there appears to be a path resolution issue. Some modules don't handle relative paths very well.
If you have an import somewhere that uses a relative path I would try changing that to either a relative format that works or first try an absolute path and see what shows up in the logs then.
This is just a guess since you don't want to share your code.

Heroku Unable to Properly Use NPM_CONFIG variable at deploy

I am using a private package from GitHub. When attempting to deploy, Heroku ignores my .npmrc file configs.
Locally, my environment file looks like:
NPM_CONFIG_GITHUB_TOKEN=[token]
Then, my .npmrc file looks like this:
[username]:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=$GITHUB_TOKEN
With this configuration, I'm able to run this locally just fine. In Heroku, I get the following error:
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NPM_CONFIG_GITHUB_TOKEN=[token]
NODE_ENV=production
NODE_MODULES_CACHE=true
NODE_VERBOSE=false
-----> Installing binaries
engines.node (package.json): 12.13.x
engines.npm (package.json): unspecified (use default)
Resolving node version 12.13.x...
Downloading and installing node 12.13.1
Using default npm version: 6.12.1
-----> Restoring cache
Cached directories were not restored due to a change in version of node, npm, yarn or stack
Module installation may take longer for this build
-----> Installing dependencies
Installing node modules
npm ERR! code E401
npm ERR! 401 Unauthorized - GET https://npm.pkg.github.com/download/[package]
npm ERR! A complete log of this run can be found in:
npm ERR! /tmp/npmcache.P5iPk/_logs/2020-08-03T18_44_16_744Z-debug.log
-----> Build failed
The full logs say the same thing. However, if I change .npmrc to:
[username]:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
... It work just fine in Heroku, but breaks locally.
Can anyone offer some guidance on what I'm doing wrong here? I've researched this for hours with no success. While the obvious solution is a different local version, this is an opensource project and I want to be able to provide straightforward installation directions.
When I deploy to Heroku I usually set the environment variables in my app settings on Heroku and I've never had a problem, you could try that

Resources