2013-02-01 87 views
0

我在項目之一中使用了session-mongoose(0.0.2)模塊。這是運行在節點版本v0.6.7的頂部。最近有一些變化,session-mongoose模塊嘗試使用命令'npm update'對我的根package.json執行與節點版本(v0.6.19)兼容的模塊mongoose。NPM UPDATE模塊版本不匹配問題

由於session-mongoose及其依賴關係是從npm註冊表動態地從'npm update'命令中拉出來的,所以我無法控制這些。

現在問題是系統停止在新部署生產中工作。有沒有什麼辦法解決這個問題,沒有更新節點版本?

和錯誤日誌,

npm ERR! error rolling back [email protected] 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: [email protected] 
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 

回答

1

你將不得不更新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/

或者您可以凍結項目(不要更新),一旦你打算部署它。

+0

即使當前穩定版本的節點是0.8.x.從0.6.7更新至0.6.19(至少)是**次要**更新。實際上不是semver模式中的小更新,只是構建更新。 – Floby

+0

是的,一個小的更新(或語義版本的補丁更新),但最重要的是他們增加了額外的API,而不改變現有的API。所以你應該可以在不改變代碼的情況下運行。 – user568109

+0

@ user568109但是npm update commant仍然有問題。無論如何謝謝你的傢伙。 –

相關問題