2011-08-14 79 views
0

將一個捆綁依賴關係提升爲全局模塊的一個顯而易見的方法是將目錄從node_modules/foo/node_modules/baz移動到node_modules/baz,但是那個全部是我必須做什麼?有沒有祕密的握手,沒有它會神祕地出錯?我注意到,npm在我目前碰巧處於的任何目錄下都會拋出node_module,這是否是這種行爲 - 我可以看到它是如何用於遞歸的安裝的依賴關係 - 或者我沒有,沒有諷刺意味,搞砸npm的安裝?)如何將綁定的依賴項提升爲全局模塊?

(並且說/是沒有關於搞砸安裝的問題,我安裝的節點不會自動查找它自己的 node_modules目錄,我不得不將它添加到NODE_PATH。這是預期的行爲?)

我的評估後兩天node.js:偉大的產品,我不看不出爲什麼它不是比它更受歡迎 - 我通過解決一個在我習慣的標準Apache/Tomcat系統中絕對無法解決的問題的方式 - 但它很難找到答案真正簡單的問題,就像上面那樣,而不是大圖片(「我怎麼連接到MySQL?」「我怎麼負載平衡?」)

回答

0

npm自1.0版本改變它是如何做它的安裝在全球與本地方面。

簡短的回答是,如果您想在全局安裝模塊,您可以使用-g標誌。

npm install awesome-module -g

如果你想在本地你放下-g標誌。

如果你希望你的模塊只在全球範圍內安裝,你可以添加

"preferGlobal": true 

package.json

至於你的第二個問題去,是有預期的行爲,在任何下降node_module你所在的目錄,這是本地安裝的一部分。

鏈接到npm 1.0發佈博客:http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

相關問題