我在一个项目中使用了session-mongoose(0.0.2)模块。它在节点版本v0.6.7的顶部运行。最近有一些变化,会话mongoose模块试图拉取与节点版本(v0.6.19)兼容的模块mongoose,对我的根package.json使用命令'npm update‘。
因为会话-mongoose和它们的依赖关系是通过'npm update‘命令从npm注册表动态拉取的,所以我不能控制它们。
现在的问题是系统在新的部署中停止在生产中工作。有没有办法在不更新节点版本的情况下解决这个问题?
错误日志是,
npm ERR! error rolling back mongoose@3.5.5 Error: UNKNOWN, unknown error 'C:\Pro
gram Files\nodejs\node_builds\server\node_modules\session-mong
oose\node_modules\mongeese\node_modules\mongoose'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: mongodb@1.2.11
npm ERR! Required: {"node":">=0.6.19"}
npm ERR! Actual: {"npm":"1.1.13","node":"0.6.7"}
npm ERR!
npm ERR! System Windows_NT 5.1.2600
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "update"
npm ERR! cwd C:\Program Files\nodejs\node_builds\server
npm ERR! node -v v0.6.7
npm ERR! npm -v 1.1.13
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Program Files\nodejs\node_builds\server\npm-de
bug.log
npm not ok发布于 2013-02-08 20:19:19
您必须更新node.js。否则你将无法使用最近发布的包。版本0.6.19于2012年6月发布。从那时起,发生了许多变化。最近的稳定版本是0.8.19。
在处理依赖关系时,您应该使用npm-shrinkwrap来锁定依赖关系。http://blog.nodejs.org/2012/02/27/managing-node-js-dependencies-with-shrinkwrap/
或者,您可以在计划部署项目后冻结项目(不要进行更新)。
https://stackoverflow.com/questions/14642276
复制相似问题