Search code examples
herokunpmgruntjsdependency-management

How can I make Heroku install devDependencies?


I would like to have Heroku build my app after I push it so that I don't have to push the build folder up every time I make a change. However Heroku only installs the dependencies from the package.json and grunt (my build tool) and all of its components are in devDependencies. I would like to keep them there where they belong. What's the workaround here?


Solution

  • UPDATE: as pointed out in the comments this is no more needed because since 2018 heroku changed its default behaviour and dev dependencies are automatically installed

    ORIGINAL ANSWER

    Heroku by default installs only the production dependencies, ignoring the development dependencies under devDependencies.

    Setting the npm production variable to false do the trick:

    heroku config:set NPM_CONFIG_PRODUCTION=false
    

    More info are available at the Heroku Node.js Support page.