NodeJS——模塊全局安裝路徑配置以及關於supervisor的問題解釋

下載安裝NodeJS後,在本身選擇的路徑下會有以下的文件:node

默認狀況下NodeJS安裝會同時安裝npm(模塊管理器:用於管理用戶require的模塊,有全局和本地兩種)。express

注:全局:執行npm  install  <模塊的名字>  -g 就會將模塊裝在全局路徑下,當用戶在程序中require(<模塊的名字>)的時候不用考慮模塊在哪,若是不修改全局路徑,用戶下載的模塊會默認在C:\Users\Administrator\AppData\Roaming\npm這個路徑下。npm

局部:執行npm  install  <包的名字>(注意少了-g)就會將模塊安裝在dos窗當前指向的路徑下,如:緩存

 

會將模塊express安裝在對應C:\Users\Administrator下的node_modules中,這時候其餘路徑項目沒法引用到該版本的express模塊!ui

以上NodeJS的環境基本搭建完成,能夠嘗試運行一些js文件啦~~~spa

 

But!有時候,會有用戶想修改默認的全局路徑:blog

咱們要先配置npm的全局模塊(node_global)的存放路徑以及緩存(global_cache)的路徑,例如我但願將以上兩個文件夾放在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下:進程

1)在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下創建」node_global」及」node_cache」兩個文件夾。以下圖cmd

 

2)在DOS窗中執行:監控

npm config set prefix 「D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global」

npm config set cache 「D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_cache」

若是這種方法沒法修改還能夠:

在nodejs的安裝目錄中找到node_modules\npm\.npmrc文件

修改以下便可:

prefix = D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global

cache = D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_cache

3)此時,npm模塊安裝的默認全局路徑已經改到了相應的文件夾中,可是 這時候用戶仍是沒法require這些模塊,由於電腦系統如今還不知道你把默認路徑給改了,因此須要在「個人電腦」-->「右鍵」-->「屬性」-->「高級系統設置」-->「環境變量」打開設置對話框。

 

4)下面是最關鍵的地方(決定修改爲敗的地方!):

①首先在「系統變量」中新建,新建一個名爲NODE_PATH的變量,變量值爲:以前新建的用於存放全局模塊的文件夾中的node_modules文件夾的絕對路徑。(告訴系統 用戶下載的全局模塊在此處)。

即:D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules

②新建完NODE_PATH後,還須要告訴系統,node和npm的位置,這時候須要在「環境變量」的對話框「系統變量」這一欄中找到「path」變量,

 

雙擊打開,在已有內容的最後先添加一個英文分號「;」,以後檢查路徑下是否有

D:\SoftWare\NodeJS_Redis\NodeJS;        (node和npm的地址)

下面這一條是若是安裝了supervisor須要添加:

D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global;        (supervisor路徑,supervisor比較特殊而且只能經過全局的方式安裝,具體特殊性若是有興趣繼續往下看!!!)

有且只要這兩個內容,多了其餘的關於nodejs刪除。

——————————————————————————————————————————————————————————————————————————

寫在最後:關於supervisor模塊安裝與運行的特殊性的我的理解:

supervisor這個模塊能夠隨之監控用戶修改並執行,省去了用戶每次修改完程序再輸一遍node ***.js的麻煩。它雖然方便,可是在安裝和使用的過程當中須要有幾個地方注意:

一、安裝問題:

若是用戶自定義了模塊全局路徑,這時候必定要在「系統變量」下的「path」變量中添加supervisor模塊所在的文件絕對路徑。特殊性就在與它的路徑不和用戶下載的其餘模塊一塊兒,而是在上一層文件夾中,

  D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global;    supervisor模塊所在路徑

  D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules;     用戶下載其餘模塊所在路徑   

其中: node_global是以前建立用於存放全部全局模塊的文件夾。

二、執行問題:

執行supervisor最好在項目所在的文件夾路徑下執行,不然有可能會出現程序意外終止或者不斷建立子進程,尤爲在cmd默認路徑下執行時會出現程序沒法執行的現象。

相關文章
相關標籤/搜索