javascript
NodeJS——模块全局安装路径配置以及关于supervisor的问题解释
下載安裝NodeJS后,在自己選擇的路徑下會有如下的文件:
默認(rèn)情況下NodeJS安裝會同時安裝npm(模塊管理器:用于管理用戶require的模塊,有全局和本地兩種)。
注:全局:執(zhí)行npm ?install? <模塊的名字> ?-g 就會將模塊裝在全局路徑下,當(dāng)用戶在程序中require(<模塊的名字>)的時候不用考慮模塊在哪,如果不修改全局路徑,用戶下載的模塊會默認(rèn)在C:\Users\Administrator\AppData\Roaming\npm這個路徑下。
局部:執(zhí)行npm? install? <包的名字>(注意少了-g)就會將模塊安裝在dos窗當(dāng)前指向的路徑下,如:
?
會將模塊express安裝在對應(yīng)C:\Users\Administrator下的node_modules中,這時候其他路徑項目無法引用到該版本的express模塊!
以上NodeJS的環(huán)境基本搭建完成,可以嘗試運行一些js文件啦~~~
?
But!有時候,會有用戶想修改默認(rèn)的全局路徑:
我們要先配置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窗中執(zhí)行:
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模塊安裝的默認(rèn)全局路徑已經(jīng)改到了相應(yīng)的文件夾中,但是?這時候用戶還是無法require這些模塊,因為電腦系統(tǒng)現(xiàn)在還不知道你把默認(rèn)路徑給改了,所以需要在“我的電腦”-->“右鍵”-->“屬性”-->“高級系統(tǒng)設(shè)置”-->“環(huán)境變量”打開設(shè)置對話框。
?
4)下面是最關(guān)鍵的地方(決定修改成敗的地方!):
①首先在“系統(tǒng)變量”中新建,新建一個名為NODE_PATH的變量,變量值為:之前新建的用于存放全局模塊的文件夾中的node_modules文件夾的絕對路徑。(告訴系統(tǒng)?用戶下載的全局模塊在此處)。
即:D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global\node_modules
②新建完NODE_PATH后,還需要告訴系統(tǒng),node和npm的位置,這時候需要在“環(huán)境變量”的對話框“系統(tǒng)變量”這一欄中找到“path”變量,
?
雙擊打開,在已有內(nèi)容的最后先添加一個英文分號“;”,之后檢查路徑下是否有
D:\SoftWare\NodeJS_Redis\NodeJS; ? ? ? ?(node和npm的地址)
下面這一條是如果安裝了supervisor需要添加:
D:\SoftWare\NodeJS_Redis\NodeJS\node_modules\node_global; ? ? ? ?(supervisor路徑,supervisor比較特殊并且只能通過全局的方式安裝,具體特殊性如果有興趣繼續(xù)往下看!!!)
有且只要這兩個內(nèi)容,多了其他的關(guān)于nodejs刪除。
——————————————————————————————————————————————————————————————————————————
寫在最后:關(guān)于supervisor模塊安裝與運行的特殊性的個人理解:
supervisor這個模塊可以隨之監(jiān)控用戶修改并執(zhí)行,省去了用戶每次修改完程序再輸一遍node ***.js的麻煩。它雖然方便,但是在安裝和使用的過程中需要有幾個地方注意:
1、安裝問題:
如果用戶自定義了模塊全局路徑,這時候一定要在“系統(tǒng)變量”下的“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是之前創(chuàng)建用于存放所有全局模塊的文件夾。
2、執(zhí)行問題:
執(zhí)行supervisor最好在項目所在的文件夾路徑下執(zhí)行,否則有可能會出現(xiàn)程序意外終止或者不斷創(chuàng)建子進(jìn)程,尤其在cmd默認(rèn)路徑下執(zhí)行時會出現(xiàn)程序無法執(zhí)行的現(xiàn)象。
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/GeoChen/p/5496322.html
總結(jié)
以上是生活随笔為你收集整理的NodeJS——模块全局安装路径配置以及关于supervisor的问题解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Atitit。Web server Je
- 下一篇: Server.MapPath()目录详解