1. 程式人生 > >nodejs之(一)安裝配置

nodejs之(一)安裝配置

下載安裝NodeJS後,在自己選擇的路徑下會有如下的檔案:

預設情況下NodeJS安裝會同時安裝npm(模組管理器:用於管理使用者require的模組,有全域性和本地兩種)。

******nodejs安裝好後,安裝路徑下的node_modules資料夾中有npm資料夾,並且在npm中有node_modules資料夾,

注:全域性:執行npm  install  <模組的名字>  -g 就會將模組裝在全域性路徑下,當用戶在程式中require(<模組的名字>)的時候不用考慮模組在哪,如果不修改全域性路徑,使用者下載的模組會預設在C:\Users\Administrator\AppData\Roaming\npm這個路徑下。

區域性:執行npm  install  <包的名字>(注意少了-g)就會將模組安裝在dos窗當前指向的路徑下,例如:區域性安裝cd到nodejs檔案(nodejs的安裝路徑)夾,就在nodejs資料夾(nodejs的安裝路徑)下的node_modules中載入模組(如果沒有node_modules資料夾,會自動生成 一個),即:將模組express安裝在對應D:\nodejs\下的node_modules中,這時候其他路徑專案無法引用到該版本的express模組!安裝完成後可能npm資料夾被自動移除了,這樣就不能用npm操作區域性安裝的模組,可以再複製一個放到\node_modules中;這樣就可以一直使用npm操作模組了;

區域性安裝會在npm執行檔案所在的目錄中建立node_modules(如果有的話就不需要建立,例如安裝完nodejs後,會在安裝路徑(或npm的執行檔案所在的目錄)預設就有node_modules;node_modules中有npm資料夾,如果安裝路徑是在這npm,那麼cd 到這個npm資料夾,會吧模組安裝到npm中的node_modules資料夾中

以上NodeJS的環境基本搭建完成,

***********修改預設的全域性路徑:

我們要先配置npm的全域性模組(node_global)的存放路徑以及快取(global_cache)的路徑,例如我希望將以上兩個資料夾放在D:\nodejs\node_modules下:

1)在D:\nodejs\node_modules下建立”node_global”及”node_cache”兩個資料夾。如下圖

 

2)在DOS窗中執行:

npm config set prefix “D:\nodejs\node_modules\node_global”

npm config set cache “D:\nodejs\node_modules\node_cache”

如果這種方法無法修改還可以:

在nodejs的安裝目錄中找到node_modules\npm\.npmrc檔案

修改如下即可:

prefix = D:\nodejs\node_modules\node_global

cache = D:\nodejs\node_modules\node_cache

3)此時,npm模組安裝的預設全域性路徑已經改到了相應的資料夾中但是 這時候使用者還是無法require這些模組,因為電腦系統現在還不知道你把預設路徑給改了,所以需要在“我的電腦”-->“右鍵”-->“屬性”-->“高階系統設定”-->“環境變數”開啟設定對話方塊。

 

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

①首先在“系統變數”中新建,新建一個名為NODE_PATH的變數,變數值為:之前新建的用於存放全域性模組的資料夾中的node_modules資料夾的絕對路徑。(告訴系統 使用者下載的全域性模組在此處)。

即:D:\nodejs\node_modules\node_global\node_modules

②新建完NODE_PATH後,還需要告訴系統,node和npm的位置,這時候需要在“環境變數”的對話方塊“系統變數”這一欄中找到“path”變數,

 

雙擊開啟,在已有內容的最後先新增一個英文分號“;”,之後檢查路徑下是否有

D:\nodejs\node_modules;        (node和npm的地址)

下面這一條是如果安裝了supervisor需要新增:

D:\nodejs\node_modules\node_global;        (supervisor路徑,supervisor比較特殊並且只能通過全域性的方式安裝,具體特殊性如果有興趣繼續往下看!!!)

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

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

寫在最後:關於supervisor模組安裝與執行的特殊性的個人理解:

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

1、安裝問題:

如果使用者自定義了模組全域性路徑,這時候一定要在“系統變數”下的“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是之前建立用於存放所有全域性模組的資料夾。

2、執行問題:

執行supervisor最好在專案所在的資料夾路徑下執行,否則有可能會出現程式意外終止或者不斷建立子程序,尤其在cmd預設路徑下執行時會出現程式無法執行的現象。