最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

npm使用的環(huán)境變量及其用法解讀

 更新時間:2025年10月23日 09:59:18   作者:趙民勇  
這篇文章主要介紹了npm使用的環(huán)境變量及其用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

了解 npm 的環(huán)境變量能讓你更自如地控制和定制 npm 的行為。

下面我將為你介紹一些常用的 npm 環(huán)境變量及其用法,并提供一些使用上的建議。

npm 環(huán)境變量詳解與使用指南

常用 npm 環(huán)境變量概覽

下表匯總了一些常用的 npm 環(huán)境變量及其典型用途:

環(huán)境變量名作用簡介用法示例
npm_config_cache設(shè)置 npm 的緩存目錄路徑npm_config_cache=/path/to/cache npm install
npm_config_offline啟用離線模式,npm 不會嘗試網(wǎng)絡(luò)請求npm_config_offline=true npm install
NODE_PATH告訴 Node.js 在哪些額外目錄查找模塊export NODE_PATH=/path/to/modules
npm_package_name當(dāng)前項目的名稱 (來自 package.json)echo $npm_package_name
npm_package_version當(dāng)前項目的版本 (來自 package.json)echo $npm_package_version
npm_config_registry設(shè)置 npm 包倉庫的地址npm_config_registry=https://registry.npmmirror.com npm install
npm_lifecycle_event當(dāng)前正在運行的 npm 腳本名稱echo $npm_lifecycle_event

核心環(huán)境變量詳解

1.npm_config_*變量

npm 的運行行為可以通過 npm_config_ 開頭的環(huán)境變量進行配置。

設(shè)置方式與優(yōu)先級:npm 獲取配置的順序從高到低是:命令行標(biāo)志 (Command Line Flags) > 環(huán)境變量 (Environment Variables) > npmrc 文件 > 默認配置。這意味著通過命令行參數(shù)設(shè)置的選項會覆蓋環(huán)境變量。

npm_config_cache:這個變量用于覆蓋 npm 默認的緩存目錄路徑。這在離線開發(fā)(你需要指定一個預(yù)先準(zhǔn)備好的緩存目錄)或希望將緩存放到特定磁盤(如空間更大的數(shù)據(jù)盤或更快的 SSD)時非常有用。使用時通常需配合 --offline 參數(shù):

# 臨時設(shè)置緩存目錄并啟用離線模式
npm_config_cache="/opt/offline-resources/npm-cache" npm install --offline --optional=false

npm_config_offline:將其設(shè)置為 true 會強制 npm 在離線模式下工作,僅使用本地緩存,不嘗試任何網(wǎng)絡(luò)連接。等同于在命令后添加 --offline 參數(shù)。

其他常用 npm_config_ 變量

  • npm_config_registry:設(shè)置 npm 包的下載源。
  • npm_config_prefix:設(shè)置全局安裝的根目錄。

2.npm_package_*變量

npm 會自動將你項目的 package.json 文件中的字段轉(zhuǎn)換為以 npm_package_ 開頭的環(huán)境變量2。

例如,package.json 中的 name 和 version 字段可以通過 npm_package_name 和 npm_package_version 訪問。

這在 npm scripts 中非常有用,可以讓腳本動態(tài)地獲取項目信息:

{
  "scripts": {
    "echo:name": "echo $npm_package_name",
    "echo:version": "echo $npm_package_version",
    "archive:coverage": "mkdir -p coverage_archive/$npm_package_version && cp -r coverage/* coverage_archive/$npm_package_version/"
  }
}

3.NODE_PATH

這是一個由 Node.js 本身識別的環(huán)境變量,而非 npm 專屬。它用于告訴 Node.js 除了當(dāng)前項目的 node_modules 之外,還在哪些額外的目錄中查找模塊。

注意:從 Node.js v6 開始,NODE_PATH 被視為過時 (deprecated),因為 Node.js 的模塊解析算法已經(jīng)非常完善。通常,更推薦使用項目本地的 node_modules 或通過 npm link 進行開發(fā)。但在一些遺留項目或特殊環(huán)境中可能仍會用到。

4. 其他實用變量

npm_lifecycle_event:表示當(dāng)前正在執(zhí)行的 npm script 的名稱(例如 installstarttest等)。這在編寫復(fù)雜的腳本時,可以讓你根據(jù)正在運行的生命周期事件執(zhí)行不同的操作。

如何查看所有環(huán)境變量

要查看當(dāng)前 npm 運行時可用的所有環(huán)境變量(這是一個很長的列表),可以在你的項目目錄下運行:

npm run env

如果你只想查看與當(dāng)前 package.json 內(nèi)容相關(guān)的變量,可以使用:

npm run env | grep npm_package

如何使用環(huán)境變量

在 npm scripts 中使用

在 package.json 的 scripts 字段中,你可以直接通過 $變量名(Unix-like系統(tǒng))或 %變量名%(Windows)來引用環(huán)境變量:

{
  "scripts": {
    "dev": "NODE_ENV=development node app.js",
    "test": "echo \"Testing package: $npm_package_name@$npm_package_version\"",
    "serve:coverage": "http-server coverage_archive/$npm_package_version -p $npm_package_config_port"
  },
  "config": {
    "port": 3000
  }
}

上面的例子中,npm_package_config_port 來自于 package.json 中 config 對象下的 port 字段。

在命令行中臨時設(shè)置

你可以在執(zhí)行命令前臨時設(shè)置環(huán)境變量,這只對當(dāng)前命令生效:

# Unix-like 系統(tǒng) (Linux, macOS)
npm_config_cache=/tmp/cache npm install

# Windows (Command Prompt)
set npm_config_cache=C:\temp\cache && npm install

# Windows (PowerShell)
$env:npm_config_cache='C:\temp\cache'; npm install

在系統(tǒng)中持久化設(shè)置

如果你希望某個環(huán)境變量永久生效,可以將其添加到你的 shell 配置文件中(如 ~/.bashrc~/.zshrc~/.bash_profile):

# 將以下內(nèi)容添加到 ~/.bashrc 或類似文件末尾
export npm_config_cache=/home/yourusername/.npm-offline-cache

然后運行 source ~/.bashrc 使其立即生效,或重新打開終端窗口。

也可以在系統(tǒng)的環(huán)境變量設(shè)置界面(Windows)或全局配置文件(如 ~/.npmrc)中進行設(shè)置。

重要注意事項

  • 變量名大小寫:大多數(shù) npm_config_ 環(huán)境變量不區(qū)分大小寫,但為了清晰和一致性,通常使用小寫。NODE_PATH 等傳統(tǒng)環(huán)境變量通常大寫。
  • 配置優(yōu)先級:記住命令行參數(shù) > 環(huán)境變量 > npmrc 文件的優(yōu)先級順序。如果你在多個地方設(shè)置了同一個配置,優(yōu)先級高的會覆蓋優(yōu)先級低的。
  • 離線模式需緩存完整:使用 npm_config_offline=true 或 --offline 時,務(wù)必確保所有依賴包已經(jīng)存在于緩存中,否則安裝會失敗。
  • 緩存目錄權(quán)限:如果你自定義了 npm_config_cache 目錄,請確保運行 npm 的用戶對該目錄有讀寫權(quán)限。
  • NODE_PATH 的過時性:如前所述,優(yōu)先使用項目本地的 node_modules,而不是依賴 NODE_PATH,除非你有非常特殊的理由。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用Electron寫個帶界面的nodejs爬蟲的實現(xiàn)方法

    用Electron寫個帶界面的nodejs爬蟲的實現(xiàn)方法

    這篇文章主要介紹了用Electron寫個帶界面的nodejs爬蟲的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Node.js 回調(diào)函數(shù)的基本用法

    Node.js 回調(diào)函數(shù)的基本用法

    本文介紹了Node.js中的回調(diào)函數(shù)、Promise和async/await等概念,講解了如何使用它們處理異步操作,避免回調(diào)地獄現(xiàn)象,并提高了代碼的可讀性和可維護性,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • node前端開發(fā)模板引擎Jade的入門

    node前端開發(fā)模板引擎Jade的入門

    這篇文章主要介紹了node前端開發(fā)模板引擎Jade的入門,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • node.js中 redis 的安裝和基本操作示例

    node.js中 redis 的安裝和基本操作示例

    這篇文章主要介紹了node.js中 redis 的安裝和基本操作,結(jié)合實例形式分析了node.js中Redis下載、安裝、數(shù)據(jù)類型及基本操作技巧,需要的朋友可以參考下
    2020-02-02
  • 初始Nodejs

    初始Nodejs

    本文屬于nodejs的基礎(chǔ)知識介紹篇,從nodejs的基本概念,到架構(gòu)示意圖,同步異步等方面做了詳細的解答,是篇非常不錯的文章
    2014-11-11
  • 在Node.js環(huán)境下使用Playwright添加自定義實現(xiàn)方式

    在Node.js環(huán)境下使用Playwright添加自定義實現(xiàn)方式

    這篇文章主要介紹了在Node.js環(huán)境下使用Playwright添加自定義實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-08-08
  • 詳解nodejs 配置文件處理方案

    詳解nodejs 配置文件處理方案

    這篇文章主要介紹了詳解nodejs 配置文件處理方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Egret引擎開發(fā)指南之發(fā)布項目

    Egret引擎開發(fā)指南之發(fā)布項目

    當(dāng)我們制作完成一個項目后,我們需要把項目發(fā)布為正式版本,并放到網(wǎng)上提供給玩家。那么在egret中簡單的使用build命令并非打包最終的正式版文件。你還需要進行最終的發(fā)布操作。
    2014-09-09
  • node 解析圖片二維碼的內(nèi)容代碼實例

    node 解析圖片二維碼的內(nèi)容代碼實例

    這篇文章主要介紹了node 解析圖片二維碼的內(nèi)容代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • nodejs實現(xiàn)大文件(在線視頻)的讀取

    nodejs實現(xiàn)大文件(在線視頻)的讀取

    這篇文章主要為大家詳細介紹了nodejs實現(xiàn)大文件的讀取,比如在線視頻,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12

最新評論

韶关市| 浮山县| 沂南县| 晋江市| 砚山县| 抚远县| 应城市| 合江县| 霍城县| 东丽区| 龙井市| 长宁县| 高台县| 麻江县| 丘北县| 普格县| 织金县| 巴楚县| 贵德县| 镇巴县| 格尔木市| 阜平县| 依兰县| 崇礼县| 阿瓦提县| 彭阳县| 福泉市| 桃江县| 湖州市| 虹口区| 青河县| 聂拉木县| 醴陵市| 吉水县| 宁城县| 叶城县| 渑池县| 龙胜| 申扎县| 建瓯市| 玉门市|