下載安裝NodeJS后,在自己選擇的路徑下會有如下的文件:
默認情況下NodeJS安裝會同時安裝npm(模塊管理器:用於管理用戶require的模塊,有全局和本地兩種)。
注:全局:執行npm install <模塊的名字> -g 就會將模塊裝在全局路徑下,當用戶在程序中require(<模塊的名字>)的時候不用考慮模塊在哪,如果不修改全局路徑,用戶下載的模塊會默認在C:\Users\Administrator\AppData\Roaming\npm這個路徑下。
局部:執行npm install <包的名字>(注意少了-g)就會將模塊安裝在dos窗當前指向的路徑下,如:
會將模塊express安裝在對應C:\Users\Administrator下的node_modules中,這時候其他路徑項目無法引用到該版本的express模塊!
以上NodeJS的環境基本搭建完成,可以嘗試運行一些js文件啦~~~
But!有時候,會有用戶想修改默認的全局路徑:
我們要先配置npm的全局模塊(node_global)的存放路徑以及緩存(global_cache)的路徑,例如我希望將以上兩個文件夾放在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下:
1)在D:\SoftWare\NodeJS_Redis\NodeJS\node_modules下建立”node_global”及”node_cache”兩個文件夾。如下圖
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的麻煩。它雖然方便,但是在安裝和使用的過程中需要有幾個地方注意:
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默認路徑下執行時會出現程序無法執行的現象。