.npmrc
和 .yarnrc
是兩個配置文件,分別用于 Node.js 中的 npm(Node Package Manager)和 Yarn 包管理工具。它們存儲了與包管理相關的配置選項,允許用戶自定義和控制包的安裝、版本、緩存等行為。下面是它們的詳細說明:
1.?.npmrc
?文件
.npmrc
是 npm 的配置文件,存儲了關于 npm 行為的各種自定義設置。你可以在該文件中設置全局配置、項目級配置,甚至是特定于用戶的配置。
常見的?.npmrc
?配置項:
registry:指定npm包的注冊表地址,默認為?https://registry.npmjs.org/
。你可以將其修改為其他鏡像源(如淘寶鏡像/華為鏡像)來加速包的下載。
registry=https://registry.npm.taobao.org
https://mirrors.huaweicloud.com/repository/npm/
prefix:指定全局安裝包的位置,通常用來更改全局模塊安裝的目錄。
prefix=/path/to/global/modules
?cache:指定 npm 緩存的目錄。
cache=/path/to/npm/cache
?authToken:用于設置私有 npm 倉庫的認證令牌
//registry.npmjs.org/:_authToken=your-token
save-exact:默認情況下,npm 安裝依賴時會添加版本范圍(如?^1.2.3
)。如果設置?save-exact=true
,npm 將始終安裝指定版本。
save-exact=true
.npmrc
文件可以存在于多級別:
- 全局配置:通常位于?
~/.npmrc
?或系統目錄中。 - 項目級配置:位于項目的根目錄下,可以為該項目單獨設置配置。
- 用戶級配置:存儲在當前用戶的主目錄下,如?
~/.npmrc
。
2.?.yarnrc
?文件
.yarnrc
是 Yarn 的配置文件,功能與 .npmrc
類似,但它是為 Yarn 包管理器提供配置選項。
常見的?.yarnrc
?配置項:
- registry:指定 Yarn 包的注冊表地址,與 npm 的配置類似,默認為?
https://registry.yarnpkg.com
。你可以更改為其他源(如淘寶鏡像)來加速下載。
registry "https://registry.npm.taobao.org"
?cache-folder:指定緩存目錄的位置。
cache-folder "/path/to/yarn/cache"
?global-folder:指定全局包安裝的目錄。
global-folder "/path/to/global/packages"
save-exact:與 npm 類似,控制是否安裝精確版本的依賴。
save-exact true
?network-timeout:設置網絡請求的超時(單位是毫秒)。
network-timeout 60000
.yarnrc
也有類似 .npmrc
的作用,它可以存在多個級別:
- 全局配置:
~/.yarnrc
- 項目級配置:項目根目錄下的?
.yarnrc
?文件。
區別和使用
- 用途:兩者的主要作用是為各自的包管理器提供配置。
.npmrc
?用于 npm,.yarnrc
?用于 Yarn。 - 格式:它們的配置格式基本相似,都是簡單的鍵值對格式。
- 功能:它們都允許用戶定制注冊表地址、緩存目錄、網絡超時、版本策略等。
通常來說,如果你在一個項目中同時使用 npm 和 Yarn,這兩個文件都會出現在項目根目錄下。不過,不建議同時使用兩個包管理工具,以避免配置沖突和不必要的問題。