如果是這樣,我很想知道是否有任何方法從/usr/local/lib
文件夾運行它們,而不是在我正在處理的每個項目文件夾中安裝這些模塊。安裝模塊如socket.io/express是否有優勢?
回答
節點文檔說,安裝全局模塊應該降級到那些需要命令行訪問的模塊(例如nodemon等)。
https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/
選擇哪
就像如何全局變量在某些情況下,一種嚴重的,但也是必要的 ,全球包裝很重要,但如果沒有 需要最好避免。
一般來說,經驗法則是:
如果你安裝你想使用需要在你的程序中使用, 東西(「不管」),然後安裝在本地,在根 您的項目。
如果你正在安裝一些你想在你的shell中使用的東西,在命令行或者其他地方,請全局安裝它,所以 它的二進制文件最終會放到你的PATH環境變量中。
唯一的其他相關問題,我能想到的你的問題是,你可以安裝快遞發電機全球範圍內,因爲它允許你創建自己的網頁腳手架的一個實例。
npm install express-generator -g
但是,這與安裝在全球範圍內表達自己是不同的,而不是相同的東西。
所以據我所知,答案是否定的 - 他們對此沒有任何好處。
我個人甚至不喜歡在全局安裝命令行模塊,除非它們真的是像'node-static'這樣的工具,我可能會在node.js項目之外使用它們。如果它是一個項目依賴項,它應該在'package.json'中,並且可以從'「$(npm bin)」/ gulp'這樣的命令行使用,並且爲了方便而在全局安裝中提供了一個選項,但從不需要。 – Paulpro
呃,個人,沒有。我最終搞亂了我的回購試圖全球安裝快遞和其他模塊。當你知道它不能搞亂你的系統時,我真的無法看到多花幾秒鐘的好處:D並且只是添加,不要嘗試全局安裝mongoDB,真的很糟糕。
- 1. 如果我使用uglify,以模塊化方式消耗lodash是否有優勢?
- 2. 檢查模塊安裝是否正確
- 3. Magento - 檢查模塊是否安裝?
- 4. 是/否Magento模塊安裝CE/EE
- 5. 是否有任何優勢有子域
- 6. 擁有MSI安裝包的主要優勢是什麼?
- 7. 檢查PIP安裝模塊是否正確安裝
- 8. 在Objective-C的函數中使用塊是否有優勢?
- 9. Angular的組件風格封裝是否有性能優勢?
- 10. Silverlight是否比JavaScript有性能優勢?
- 11. 代碼中間是否有優勢?
- 12. 加密會話變量是否有任何安全優勢?
- 13. 優勢,如果一個塊
- 14. Python模塊沒有安裝
- 15. 安裝模塊
- 16. aar vs「普通模塊」的優勢
- 17. 如何知道模塊是否安裝在節點中
- 18. 如何檢查在Heroku中是否安裝Nodejs節點模塊
- 19. 如何檢查Perl模塊(DBD :: mysql)是否已正確安裝?
- 20. 如何找出我是否在Linux中安裝了Python模塊?
- 21. 如果安裝失敗,npm是否刪除下載的模塊?
- 22. 如何檢查Perl模塊是否安裝?
- 23. 如何捕獲`require()`異常來檢查模塊是否安裝?
- 24. 檢查Chrome擴展模塊是否以解壓模式安裝
- 25. 如何安裝python模塊?
- 26. 如何安裝Apache模塊
- 27. 如何安裝鈦模塊
- 28. 如何安裝Python模塊
- 29. 如何安裝bcmath模塊?
- 30. 安裝Python模塊
在全球範圍內安裝Express的不利之處在於,如果您將Express升級到更新版本(甚至可能是與早期版本有些不兼容的版本),那麼您必須立即升級所有應用程序以使用新版本Express版本。如果您爲每個項目單獨安裝Express,那麼當您選擇實際升級該特定應用程序時,您只需爲給定應用程序處理新版本的Express。由於磁盤空間如此便宜,我認爲沒有理由在全球安裝任何東西。 – jfriend00
我的主要關注點是假設我將創建許多不同的項目,因爲每個node_modules最少需要大約2MB – AeonZh
因此,如果您有100個node.js項目,則需要200MB的磁盤空間。這些日子沒有獨立升級node.js項目的靈活性。 – jfriend00