1

I have been trying to install Derby, and npm keeps insisting it cannot find a suitable version of express. Here's the command I am using: npm install -g derby. Below is the output. I am running Ubuntu 11.10, node v0.7.6 and npm v1.1.17. Am I doing something wrong? How can I fix this?

npm ERR! Error: No compatible version found: express@'>=2.0.0- <3.0.0-'
npm ERR! Valid install targets:
npm ERR! ["0.14.0","0.14.1","1.0.0beta","1.0.0beta2","1.0.0rc","1.0.0rc2","1.0.0rc3","1.0.0rc4","1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7"]
npm ERR!     at installTargetsError (/home/thomas/bin/node/lib/node_modules/npm/lib/cache.js:486:10)
npm ERR!     at next_ (/home/thomas/bin/node/lib/node_modules/npm/lib/cache.js:436:17)
npm ERR!     at next (/home/thomas/bin/node/lib/node_modules/npm/lib/cache.js:413:44)
npm ERR!     at /home/thomas/bin/node/lib/node_modules/npm/lib/cache.js:406:5
npm ERR!     at saved (/home/thomas/bin/node/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:151:7)
npm ERR!     at Object.oncomplete (/home/thomas/bin/node/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:230:7)
npm ERR! You may report this 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 3.0.0-17-generic
npm ERR! command "node" "/home/thomas/bin/node/bin/npm" "install" "-g" "derby"
npm ERR! cwd /home/thomas
npm ERR! node -v v0.7.6
npm ERR! npm -v 1.1.17
npm ERR! message No compatible version found: express@'>=2.0.0- <3.0.0-'
npm ERR! message Valid install targets:
npm ERR! message ["0.14.0","0.14.1","1.0.0beta","1.0.0beta2","1.0.0rc","1.0.0rc2","1.0.0rc3","1.0.0rc4","1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7"]
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/thomas/npm-debug.log
npm not ok
4

1 回答 1

2

Derby 需要 express v2.x,而 express v2.x 需要 node v0.4.1 => 0.7.0-pre。这意味着 npm 将无法为您找到有效的 express 版本,因为您的节点版本 v0.7.6 不受支持。

你最好的选择是降级 Node.js。您也可以手动安装 express,并希望它实际上是兼容的,但这可能是个坏主意。

于 2012-04-18T03:49:12.547 回答