I'm deploying a Node app to Heroku and get the following error. If npm doesn't work with recent versions of Node, what are we supposed to use for a package manager? I really liked node_modules and package.json. It seemed very logical.
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.8.5
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
Error: npm doesn't work with node v0.8.5
Required: node@0.4 || 0.5 || 0.6
If you're specifying Node.js 0.8.x
via "engines"
in your package.json
, you may also need to set a version for "npm"
:
{
...
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
From the Heroku Dev Center for Node.js:
If you do not specify a version, you will get the following defaults:
- Node.js:
0.4.7
- npm:
1.0.106
That page also includes links to supported version manifests for both.
You've simply got an obsolete version of npm: the current version is 1.1.45 and works just fine with 0.8.x versions of node.