Heroku cedar stack lets you deploy node.js apps and uses the npm package manager to install dependencies
When pushing to heroku, it will install dependencies using npm install
, and heroku helpfully caches your dependencies between deploys. This can be a problem when you update a dependency that uses a github tarball, like this:
// package.json
{
"name": "node app name",
"description": "",
"version": "0.0.1",
"dependencies": {
"sandbox": "https://github.com/caike/sandbox/tarball/master",
}
}
If you update sandbox
on github, when pushing to heroku npm will not update the install because it already exists. Instead of just using master
, tag your dependency with the version number and put that in the package.json
:
// package.json
{
"name": "node app name",
"description": "",
"version": "0.0.1",
"dependencies": {
"sandbox": "https://github.com/caike/sandbox/tarball/v0.8.0",
}
}
Thanks! Just to say to anyone who does this, I needed to increment the version inside the module referred to as well (obvious I know, erk :) )