偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

快試試 save exact,防止你的項(xiàng)目依賴(lài)版本滑動(dòng)

開(kāi)發(fā) 項(xiàng)目管理
使用 save-exact 可以在項(xiàng)目安裝依賴(lài)時(shí),保存到 package.json 的依賴(lài)項(xiàng)將使用精確的版本進(jìn)行配置,而不是使用 npm 的默認(rèn) semver 范圍運(yùn)算符。在開(kāi)發(fā)過(guò)程中以及使用應(yīng)用程序時(shí),可以安全地允許補(bǔ)丁或次要更新。

如果你正在構(gòu)建一個(gè)生產(chǎn)應(yīng)用程序,你并不總是希望讓你項(xiàng)目的依賴(lài)項(xiàng)自動(dòng)更新,即使您只指定了一個(gè) PATCH 更新,由于有數(shù)百個(gè)互操作包,因此有可能出現(xiàn)未經(jīng)測(cè)試的更新會(huì)毀掉你的項(xiàng)目,那么你一樣要試試 save-exact。在開(kāi)發(fā)過(guò)程中以及使用應(yīng)用程序時(shí),可以安全地允許補(bǔ)丁或次要更新。

我們先來(lái)看一個(gè)最簡(jiǎn)單的測(cè)試,例如我在項(xiàng)目依賴(lài)了兩個(gè)包:

"devDependencies": {
  "@babel/cli": "^7.10.5",
  "@babel/plugin-transform-runtime": "^7.11.0"
}

當(dāng)刪除 node_modules 文件夾并運(yùn)行時(shí) npm install,已安裝軟件包的版本可能會(huì)在更高版本可用時(shí)更新,原因是安裝的依賴(lài)產(chǎn)生了滑動(dòng),這可能會(huì)破壞應(yīng)用程序,不同版本的的特效可能存在不一致的場(chǎng)景,這其實(shí)是非常危險(xiǎn)的。

圖片圖片

圖片圖片

^ 會(huì)匹配最新的大版本依賴(lài)包,比如 ^1.2.3 會(huì)匹配所有 1.x.x 的包,包括 1.3.0,但是不包括 2.0.0。

save-exact

使用 save-exact 后,保存到 package.json 的依賴(lài)項(xiàng)將使用精確的版本進(jìn)行配置,而不是使用 npm 的默認(rèn) semver 范圍運(yùn)算符。

使用

在項(xiàng)目中可以通過(guò) .npmrc / .yarnrc 來(lái)對(duì) save-exact 進(jìn)行配置。

#.npmrc
save-exact=true
#.yarnrc
save-prefix ~

當(dāng)我們?cè)俅伟惭b使用 yarn add react 時(shí),你會(huì)發(fā)現(xiàn)不會(huì)有滑動(dòng)版本。

圖片圖片

.npmrc / .yarnrc 的配置是項(xiàng)目級(jí)別的。你也可以針對(duì)某一個(gè)依賴(lài)使用 save-exact。例如:

yarn add react --save-exact

圖片圖片

這樣也能達(dá)到同樣的效果。并且你還可以通過(guò)設(shè)置用戶級(jí)別的 npm config 來(lái)達(dá)到效果。

npm config set save-exact true

不過(guò)這里需要注意的是,它們是有優(yōu)先級(jí)的。

配置優(yōu)先級(jí)

除了命令行 save-exact,當(dāng)我們?cè)谑褂?npmrc 配置時(shí),按照依賴(lài)會(huì)檢查配置,其實(shí)就是檢查 .npmrc 的配置,在我們的電腦中存在多個(gè) .npmrc 的配置。

1.項(xiàng)目中的 .npmrc

圖片圖片

項(xiàng)目下 .npmrc 文件的優(yōu)先級(jí)最高,可以給每個(gè)項(xiàng)目配置不同的鏡像,項(xiàng)目之間的配置互不影響。 在項(xiàng)目的根目錄下新建 .npmrc 文件,在里面以 key=value 的格式進(jìn)行配置。

save-exact=true

2.用戶配置的 .npmrc(~/.npmrc)

圖片圖片

可以通過(guò) npm config get userconfig 命令獲取用戶配置的 .npmrc 文件在哪里。

圖片圖片

可以通過(guò) npm config set 命令設(shè)置用戶級(jí)別的 .npmrc 配置。

npm config set registry https://registry.npm.taobao.org

如果想刪除可以直接編輯文件,或者使用 npm config delete registry 命令來(lái)進(jìn)行刪除。

3.全局配置的 .npmrc

圖片圖片

可以通過(guò) npm config get prefix 命令獲取全局配置的 .npmrc 文件的前綴地址,

圖片圖片

記住是前綴地址,不是完整地址。完整地址是{$prefix}/etc/npmrc。 但是如果你從來(lái)沒(méi)有全局配置過(guò),就不會(huì)存在這個(gè)文件。 也可以通過(guò)命令行來(lái)進(jìn)行全局 .npmrc 文件的配置。

npm config set registry https://registry.npm.taobao.org -g

4.npm 內(nèi)置的 .npmrc

npm 內(nèi)置 .npmrc 配置文件和 npm 同級(jí),所以可以通過(guò)獲取 npm 的路徑,來(lái)找到 npm 內(nèi)置的 .npmrc 文件。 可以通過(guò) which npm 來(lái)獲取 npm 的路徑,也就找到了 npm 內(nèi)置的 .npmrc 文件。

圖片圖片

npm install 執(zhí)行之后,首先,檢查并獲取 npm 配置,這里的優(yōu)先級(jí)為:項(xiàng)目級(jí)的 .npmrc 文件 > 用戶級(jí)的 .npmrc 文件> 全局級(jí)的 .npmrc 文件 > npm 內(nèi)置的 .npmrc 文件。

當(dāng)我們?cè)趫?zhí)行安裝命令之后,如果命令行中不包含  save-exact,然后檢查并獲取 npm 配置中的 save-exact,這里的優(yōu)先級(jí)為:項(xiàng)目級(jí)的 .npmrc 文件 > 用戶級(jí)的 .npmrc 文件> 全局級(jí)的 .npmrc 文件 > npm 內(nèi)置的 .npmrc 文件。

總結(jié)

使用 save-exact 可以在項(xiàng)目安裝依賴(lài)時(shí),保存到 package.json 的依賴(lài)項(xiàng)將使用精確的版本進(jìn)行配置,而不是使用 npm 的默認(rèn) semver 范圍運(yùn)算符。在開(kāi)發(fā)過(guò)程中以及使用應(yīng)用程序時(shí),可以安全地允許補(bǔ)丁或次要更新。

參考

https://docs.npmjs.com/cli/v10/commands/npm-install#save-exact

https://teamtreehouse.com/community/why-install-npm-packages-as-saveexact

https://stackoverflow.com/questions/58638817/what-is-the-purpose-of-using-save-exact

責(zé)任編輯:武曉燕 來(lái)源: 不愛(ài)吃貓的魚(yú)er
相關(guān)推薦

2021-05-27 11:26:46

nodesassCSS

2020-08-08 12:22:03

微信微信昵稱(chēng)圓圏

2022-03-08 13:46:22

httpClientHTTP前端

2010-06-24 09:38:42

Windows備份云平臺(tái)

2024-03-21 08:55:41

享元模式對(duì)象內(nèi)存

2019-01-16 16:00:33

2021-04-09 11:15:24

LogbackLog4j2Java

2021-04-21 10:36:47

StringBuildJava8StringJoine

2020-12-17 18:36:50

數(shù)據(jù)集大規(guī)模數(shù)據(jù)Kaggle

2024-01-23 13:20:00

分庫(kù)分表分布式

2022-08-14 22:35:37

EurekaConsul

2025-03-03 01:00:00

工具加密命令

2021-12-29 10:30:15

JMH代碼Java

2025-04-17 04:00:00

2020-11-16 09:15:07

MYSQL

2024-10-24 08:47:12

2021-12-17 14:27:52

jar反編譯Java

2009-12-02 08:58:40

2024-03-11 08:21:49

2023-08-01 07:45:52

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)