Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Webpack not found, deploying to Heroku

Tags:

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!

like image 907
vesperae Avatar asked Sep 12 '16 19:09

vesperae


People also ask

Does heroku install devDependencies?

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.

Why my Heroku app is not working?

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.


1 Answers

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!

like image 79
vesperae Avatar answered Sep 24 '22 21:09

vesperae