0

在本地,我可以运行:

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"
},

我究竟做错了什么?为什么此软件包的最新版本不可用?

4

1 回答 1

0

糟糕,答案竟然是我的问题中的最后一个代码示例尚未提交,因此 Heroku 仍在使用旧版本的 NPM 和 Node。提交该块并重新推送修复它。

于 2013-01-02T15:25:48.400 回答