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預設路徑下執行時會出現程式無法執行的現象。