我正在向Heroku部署Node应用程序并收到以下错误。如果npm不能与最新版本的Node一起使用,我们应该将什么用于包管理器?我真的很喜欢node_modules和package.json。这似乎很合乎逻辑。
-----> 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
答案 0 :(得分:11)
如果您在0.8.x
中通过"engines"
指定Node.js package.json
,则可能还需要为"npm"
设置版本:
{
...
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
来自Heroku Dev Center for Node.js:
如果您未指定版本,则会获得以下默认值:
- Node.js:
0.4.7
- npm:
1.0.106
该页面还包含指向两者的受支持版本清单的链接。
答案 1 :(得分:0)
你只是得到了一个过时版本的npm:当前版本是1.1.45,并且在0.8.x版本的节点上工作得很好。