1 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
npm install --global xxx 屬于全局安裝
npm install xxx 屬于本地安裝
1、全局路徑
Windows下的Nodejs npm路徑是appdata
cmd下執(zhí)行以下命令
npm config set cache "D:\nodejs\node_cache"
npm config set prefix "D:\nodejs\node_global"
如果無(wú)效
在nodejs的安裝目錄中找到node_modules\npm\.npmrc文件
修改如下即可:
prefix = D:\nodejs\node_global
cache = D:\nodejs\node_global
[重要]環(huán)境變量配置:在環(huán)境變量path追加:D:\nodejs\node_global;
2、本地路徑(項(xiàng)目級(jí))
NODE_PATH 是干什么的呢?
操作系統(tǒng)中都會(huì)有一個(gè)PATH環(huán)境變量,想必大家都知道,當(dāng)系統(tǒng)調(diào)用一個(gè)命令的時(shí)候,就會(huì)在PATH變量中注冊(cè)的路徑中尋找,如果注冊(cè)的路徑中有就調(diào)用,否則就提示命令沒(méi)找到。
那 NODE_PATH 就是NODE中用來(lái)尋找模塊所提供的路徑注冊(cè)環(huán)境變量
[加載機(jī)制]
NODE_PATH中的路徑被遍歷是發(fā)生在從項(xiàng)目的根位置遞歸搜尋 node_modules 目錄,直到文件系統(tǒng)根目錄的 node_modules,如果還沒(méi)有查找到指定模塊的話,就會(huì)去 NODE_PATH中注冊(cè)的路徑中查找。
這樣,我們的項(xiàng)目就可以共享node_modules的依賴包。
差異性的解決方法
如果 項(xiàng)目A 使用了,express的3.x版本,項(xiàng)目B 使用了 express的4.x版本,那這種情況該怎么辦呢?
可以將 NODE_PATH 指定的位置中存放 express的4.x版本,再將 項(xiàng)目B的 node_modules 目錄中放置 3.x 版本。
這樣就解決了模塊版本差異性問(wèn)題。
問(wèn)題
在使用 --global 參數(shù)的時(shí)候 --save 或 --save-dev參數(shù)是無(wú)效的。
這樣就帶來(lái)一個(gè)問(wèn)題。此時(shí) package.json 中的 dependencies, devDependencies 將無(wú)法享受到npm自動(dòng)更新帶來(lái)的便利
- 1 回答
- 0 關(guān)注
- 1176 瀏覽
添加回答
舉報(bào)