2017-08-05 74 views
0

我在Windows上安裝node-canvasnpm有一些麻煩。它讓我做了很多測試,改變了一些環境變量,參數等......Node.js:如何集中npm模塊?

什麼是非常煩人的是,我在我的硬盤上的任何地方,如果我執行'npm install -g canvas'它會創建一個文件夾'node_modules'在本地......我沒有立即注意到,所以現在我已經有一些'node_modules'文件夾有點無聊了(無聊)-_-'!我以爲只有在users/user_name/appdata/roaming/npm

我讀到大多數人喜歡在projet文件夾中安裝節點的依賴項。它可能解釋了npm這樣的行爲。如何避免這種情況?

+0

爲什麼你要避免使用本地/特定項目的模塊?什麼是用例?有關全局與本地npm的哲學參考,請參閱https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/ – jsalonen

+0

,因爲服務器端node.js感興趣有些原因,但我暫時不打算上傳任何項目,所以我更喜歡集中我的模塊,就像在python中使用pip一樣。不好的做法?好吧,我會讀取 –

+0

使用本地節點模塊實際上是使用npm的方式。除非你有充分的理由使用共享的全局模塊,否則我肯定會避免使用它們。即使一些點子用戶覺得npm的方法更好:https://medium.com/@alonisser/things-i-wish-pip-learned-from-npm-f712fa26f5bc – jsalonen

回答

1

爲什麼人們爲當前工作目錄(項目目錄)安裝節點模塊有兩個原因。主要原因是如果有些東西只是在特定項目中使用,那麼您希望在本地安裝節點模塊。此外,這有助於爲您的特定項目使用正確的版本。你唯一應該在全局安裝npm模塊的時間是,如果它們被當前項目之外的其他東西使用。 一個很好的例子是nodemon,它監視nodemon啓動的目錄中的文件,如果有任何文件被更改,它會自動重啓應用程序。因此,對於這一點,你可以安裝全球

npm install -g nodemon 

當然,你也可以只安裝在您的項目目錄

npm install --save-dev nodemon