very new to Node and deploying to Heroku. I have a basic React app set up and am attempting to deploy to Heroku. I have it pushed, but the app is failing. When I look at the logs I see something about sh: 1: webpack: not found
(full log here)
I'm not really certain what's going on, but believe it has something to do with my package.json? From the starter template I am using it is as such:
{ "name": "express-react-redux-starter", "version": "1.0.0", "description": "Starter for Express, React, Redux, SCSS applications", "scripts": { "dev": "webpack-dev-server --config ./webpack/webpack-dev.config.js --watch --colors", "build": "rm -rf dist && webpack --config ./webpack/webpack-prod.config.js --colors", "start": "PORT=8080 node start ./server.js", "test": "mocha --compilers js:babel-core/register --require ./test/test_helper.js --recursive ./test", "test:watch": "npm run test -- --watch", "lint": "eslint src test webpack" }, "keywords": [ "ExpressJS", "ReactJS", "Redux", "React hot loader", "React Router", "SCSS", "Webpack Devevelopment configuration", "Webpack Production configuration", "Airbnb Eslint", "pm2", "mocha", "chai" ], "repository": { "type": "git", "url": "git+https://github.com/DimitriMikadze/express-react-redux-starter" }, "author": "Dimitri Mikadze", "license": "MIT", "devDependencies": { "autoprefixer": "^6.4.0", "autoprefixer-loader": "^3.2.0", "babel-core": "^6.8.0", "babel-loader": "^6.2.4", "babel-preset-es2015": "^6.6.0", "babel-preset-react": "^6.5.0", "babel-preset-stage-1": "^6.5.0", "chai": "^3.5.0", "chai-jquery": "^2.0.0", "css-loader": "^0.23.1", "eslint": "^2.10.2", "eslint-config-airbnb": "^9.0.1", "eslint-plugin-import": "^1.8.0", "eslint-plugin-jsx-a11y": "^1.2.0", "eslint-plugin-react": "^5.1.1", "extract-text-webpack-plugin": "^1.0.1", "html-webpack-plugin": "^2.16.1", "jquery": "^2.2.3", "jsdom": "^9.0.0", "mocha": "^2.4.5", "node-sass": "^3.7.0", "react-addons-test-utils": "^15.0.2", "react-hot-loader": "^1.3.0", "sass-loader": "^3.2.0", "style-loader": "^0.13.1", "url-loader": "^0.5.7", "webpack-dev-server": "^1.14.1" }, "dependencies": { "classnames": "^2.2.5", "express": "^4.13.4", "lodash": "^4.15.0", "react": "^15.0.2", "react-dom": "^15.0.2", "react-redux": "^4.4.5", "react-router": "^2.4.0", "redux": "^3.5.2", "webpack": "^1.13.0" } }
What am I doing incorrectly to get this deployed? Works great on my localhost. But cannot figure out how to get this up into the world for the life of me. Many thanks!
By default, Heroku will install all dependencies listed in package. json under dependencies and devDependencies . After running the installation and build steps Heroku will strip out the packages declared under devDependencies before deploying the application.
There are some errors which only occur when the app is rebooting so you will need to restart the app to see these log messages appear. For most apps, we also recommend enabling one of the free logging addons from https://elements.heroku.com/addons#logging to make sure that your historical log data is being saved.
Ok -- this has to do with devDependencies vs. Dependencies in package.json Also, by setting the Heroku config to NPM_CONFIG_PRODUCTION: false
I was able to resolve this. Thx internet!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With