在本地,我可以运行:
npm install oscar@0.2.0
要安装这个包:https ://npmjs.org/package/oscar
您可以在该页面上看到当前版本是 0.2.0。
然而,当我的 package.json 包含:
"dependencies": {
"oscar": "~0.2.0",
//...
}
...然后我推到 Heroku,我得到了这样的回应:
-----> Installing dependencies with npm
npm ERR! Error: No compatible version found: oscar@'>=0.2.0- <0.3.0-'
npm ERR! Valid install targets:
npm ERR! ["0.1.0","0.1.1","0.1.2"]
npm ERR! at installTargetsError (/tmp/node-npm-Sezl/lib/cache.js:424:10)
npm ERR! at /tmp/node-npm-Sezl/lib/cache.js:406:17
npm ERR! at saved (/tmp/node-npm-Sezl/lib/utils/npm-registry-client/get.js:136:7)
npm ERR! at cb (/tmp/node-npm-Sezl/node_modules/graceful-fs/graceful-fs.js:36:9)
npm ERR! Report this *entire* log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR!
npm ERR! System Linux 2.6.32-348-ec2
npm ERR! command "/tmp/node-node-yaOa/bin/node" "/tmp/node-npm-Sezl/cli.js" "install" "--production"
npm ERR! cwd /tmp/build_13f8kjrsns2wh
npm ERR! node -v v0.4.7
npm ERR! npm -v 1.0.106
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_13f8kjrsns2wh/npm-debug.log
npm not ok
! Failed to install --production dependencies with npm
! Heroku push rejected, failed to compile Node.js app
To git@heroku.com:xxxxx-xxxxxx-nnnn.git
! [remote rejected] master -> master (pre-receive hook declined)
如果它有任何影响,这是我的 package.json 为 Heroku 指定的 node+npm 版本:
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
},
我究竟做错了什么?为什么此软件包的最新版本不可用?