欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

手把手教你如何修改npm的全局安裝路徑

 更新時(shí)間:2025年04月27日 10:04:40   作者:2301_79940491  
這篇文章主要介紹了如何修改npm全局安裝路徑的相關(guān)資料,通過(guò)詳細(xì)圖文講解了如何創(chuàng)建自定義路徑、配置npm全局路徑和緩存路徑、驗(yàn)證配置、配置環(huán)境變量、測(cè)試配置以及其他可選配置,需要的朋友可以參考下

前言

修改 npm 的全局安裝路徑可以通過(guò)以下步驟完成,確保全局包(使用 -g 安裝的模塊)和緩存文件存儲(chǔ)到自定義路徑。以下是詳細(xì)步驟:

1. 創(chuàng)建自定義路徑的目錄

在目標(biāo)路徑下創(chuàng)建兩個(gè)文件夾,分別用于存儲(chǔ)全局模塊和緩存文件:

2. 配置 npm 的全局路徑和緩存路徑

使用 npm config 命令修改全局安裝路徑和緩存路徑:

# 設(shè)置全局模塊的安裝路徑(prefix)
npm config set prefix "D:\soft\node_repository\node_global"

# 設(shè)置緩存路徑(cache)
npm config set cache "D:\soft\node_repository\node_cache"

3. 驗(yàn)證配置是否生效

執(zhí)行以下命令檢查配置是否成功:

# 查看全局安裝路徑
npm config get prefix  

# 查看緩存路徑
npm config get cache   

4. 配置環(huán)境變量(關(guān)鍵步驟)

為了讓系統(tǒng)識(shí)別全局安裝的命令(如 npm 全局包的可執(zhí)行文件),需要將新路徑添加到 環(huán)境變量 中:

⑴:添加 PATH 環(huán)境變量

Windows 操作步驟

右擊此電腦 → 點(diǎn)擊“屬性” → “高級(jí)系統(tǒng)設(shè)置” → “環(huán)境變量”。

在“系統(tǒng)變量”中找到 Path 變量,點(diǎn)擊“編輯”。

新增以下路徑:

D:\soft\node_repository\node_global(全局模塊的根目錄)

D:\soft\node_repository\node_global\node_modules\.bin(全局模塊的可執(zhí)行文件目錄)

點(diǎn)擊確定保存。

⑵.(可選但推薦):設(shè)置 NODE_PATH

如果全局模塊需要被 Node.js 項(xiàng)目直接引用,添加 NODE_PATH 環(huán)境變量:

  • 在“系統(tǒng)變量”中新建變量:
    • 變量名:NODE_PATH
    • 變量值:D:\soft\node_repository\node_global\node_modules

5. 測(cè)試配置

⑴ 安裝一個(gè)全局包

npm install -g pm2  # 例如安裝 pm2
  • 檢查安裝路徑:D:\soft\node_repository\node_global\node_modules下應(yīng)出現(xiàn) pm2 目錄。

⑵.驗(yàn)證命令是否生效

pm2 -v  # 應(yīng)顯示 pm2 的版本號(hào)

6. 其他可選配置(提升體驗(yàn))

⑴ 設(shè)置淘寶鏡像加速下載

npm config set registry https://registry.npmmirror.com

⑵.檢查完整配置

npm config list  # 查看所有 npm 配置

prefix(全局路徑)和 cache(緩存路徑)的區(qū)別

(1) prefix(全局路徑,如 D:\node_global)

  • 存儲(chǔ)內(nèi)容:已安裝的全局 npm 包的最終版本。
  • 作用:存放通過(guò) npm install -g 安裝的完整包文件(如 node_modules 目錄下的模塊)和可執(zhí)行命令(如 webpackpm2)。
  • 文件結(jié)構(gòu)示例
    D:\node_global\
    ├── node_modules\
    │   ├── package1@1.0.0\
    │   ├── package2@2.3.1\
    │   └── ...
    └── node_modules\.bin\
        ├── executable1.exe
        └── executable2.sh

(2) cache(緩存路徑,如 D:\node_cache)

  • 存儲(chǔ)內(nèi)容:下載的包的原始?jí)嚎s文件.tgz)和元數(shù)據(jù)(如哈希校驗(yàn)值、索引文件)。
  • 作用:臨時(shí)存儲(chǔ)下載的包,供后續(xù)安裝時(shí)快速?gòu)?fù)用,避免重復(fù)下載。
  • 文件結(jié)構(gòu)示例
    D:\node_cache\
    ├── _cacache\
    │   ├── content-v2\  # 存儲(chǔ)原始 .tgz 包(二進(jìn)制文件)
    │   ├── index-v5\    # 存儲(chǔ)元數(shù)據(jù)(如包的哈希值、下載時(shí)間等)
    │   └── tmp\         # 臨時(shí)文件
    └── ...其他配置文件

為什么不會(huì)“下載兩份”?

npm 的安裝流程如下,不會(huì)重復(fù)下載包

  • 下載階段

    • 當(dāng)執(zhí)行 npm install -g package 時(shí),npm 首先檢查 cacheD:\node_cache)中是否有該包的壓縮文件(.tgz)。
    • 如果沒(méi)有,則從遠(yuǎn)程倉(cāng)庫(kù)(如 npmjs.com 或淘寶鏡像)下載一次,并將壓縮包存入 cache
    • 如果已有緩存,則直接使用已有的 .tgz 文件。
  • 安裝階段

    • 從 cache 中的 .tgz 文件解壓并安裝到 prefixD:\node_global),生成可執(zhí)行的模塊和命令。
    • 同一個(gè)包的 .tgz 文件只會(huì)在 cache 中存儲(chǔ)一份,而安裝后的解壓文件會(huì)存放到 prefix。

具體例子說(shuō)明

假設(shè)你全局安裝了 pm2

  • 緩存路徑 D:\node_cache
    • 存儲(chǔ) pm2 的原始 .tgz 文件(如 pm2-5.3.0.tgz)和元數(shù)據(jù)。
  • 全局路徑 D:\node_global
    • 存儲(chǔ)解壓后的 pm2 模塊文件(如 node_modules/pm2)和可執(zhí)行文件(如 pm2.cmd)。

關(guān)鍵點(diǎn)

  • .tgz 文件只存在于 cache,而解壓后的文件存在于 prefix。
  • 如果再次安裝 pm2,npm 會(huì)直接從 cache 中讀取 .tgz,無(wú)需重新下載,但會(huì)再次解壓到 prefix(如果版本不同或需要更新)。

為什么需要分開(kāi)這兩個(gè)路徑?

  • 職責(zé)分離
    • cache 是臨時(shí)存儲(chǔ)區(qū),用于加速安裝。
    • prefix 是最終安裝路徑,存放可直接使用的模塊和命令。
  • 靈活性
    • 可以將 cache 放在高速存儲(chǔ)(如 SSD),prefix 放在大容量存儲(chǔ)(如 HDD)。
    • 可以獨(dú)立清理 cache(節(jié)省空間),而不會(huì)影響已安裝的全局模塊。

總結(jié)

  • prefix:存放已安裝的全局模塊(長(zhǎng)期保留)。
  • cache:存放下載的原始包文件(臨時(shí)緩存)。
  • 不會(huì)重復(fù)下載:同一個(gè)包的 .tgz 文件只會(huì)在 cache 中存儲(chǔ)一份,安裝時(shí)僅解壓到 prefix

到此這篇關(guān)于如何修改npm的全局安裝路徑的文章就介紹到這了,更多相關(guān)npm全局安裝路徑修改內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容

    Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容

    這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編來(lái)一起看看吧。
    2017-06-06
  • Node.js安裝、環(huán)境變量配置、報(bào)錯(cuò)解決方法

    Node.js安裝、環(huán)境變量配置、報(bào)錯(cuò)解決方法

    Node.js 是一個(gè)基于 Chrome JavaScript 運(yùn)行時(shí)建立的一個(gè)平臺(tái),這篇文章主要介紹了Node.js安裝、環(huán)境變量配置、報(bào)錯(cuò)解決方法,需要的朋友可以參考下
    2022-06-06
  • 使用nvm管理(切換)node版本詳細(xì)圖文教程

    使用nvm管理(切換)node版本詳細(xì)圖文教程

    這篇文章主要給大家介紹了關(guān)于使用nvm管理(切換)node版本的相關(guān)資料,nvm是node.js的版本管理器,可以安裝和切換不同版本node.js,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • nodejs微信公眾號(hào)支付開(kāi)發(fā)

    nodejs微信公眾號(hào)支付開(kāi)發(fā)

    這篇文章主要為大家詳細(xì)介紹了nodejs微信公眾號(hào)支付開(kāi)發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • node.js中的buffer.fill方法使用說(shuō)明

    node.js中的buffer.fill方法使用說(shuō)明

    這篇文章主要介紹了node.js中的buffer.fill方法使用說(shuō)明,本文介紹了buffer.fill的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js制作一個(gè)簡(jiǎn)單的登錄攔截器

    node.js制作一個(gè)簡(jiǎn)單的登錄攔截器

    本文給大家分享的是使用node.js制作一個(gè)簡(jiǎn)單的登錄攔截的思路及代碼,有需要的小伙伴可以參考下
    2020-02-02
  • 用C/C++來(lái)實(shí)現(xiàn) Node.js 的模塊(一)

    用C/C++來(lái)實(shí)現(xiàn) Node.js 的模塊(一)

    這篇文章的主要內(nèi)容其實(shí)簡(jiǎn)而言之就是——用C/C++來(lái)實(shí)現(xiàn) Node.js 的模塊,非常的不錯(cuò),有需要的朋友可以參考下
    2014-09-09
  • NodeJS實(shí)現(xiàn)跨域的方法(使用示例)

    NodeJS實(shí)現(xiàn)跨域的方法(使用示例)

    CORS是一種 W3C 標(biāo)準(zhǔn),它使用額外的 HTTP 頭來(lái)告訴瀏覽器讓運(yùn)行在一個(gè) origin (domain) 上的Web應(yīng)用被準(zhǔn)許訪問(wèn)來(lái)自不同源服務(wù)器上的指定的資源,這篇文章主要介紹了NodeJS實(shí)現(xiàn)跨域的方法,需要的朋友可以參考下
    2024-05-05
  • 解決linux下node.js全局模塊找不到的問(wèn)題

    解決linux下node.js全局模塊找不到的問(wèn)題

    今天小編就為大家分享一篇解決linux下node.js全局模塊找不到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • pm2啟動(dòng)ssr失敗的解決方法

    pm2啟動(dòng)ssr失敗的解決方法

    這篇文章主要介紹了pm2啟動(dòng)ssr失敗的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06

最新評(píng)論