徹底了解 npm修械、cnpm趾牧、yarn、pnpm 幾種包管理器

隨著前端工程化的應用越來越廣肯污,插件和包的管理也逐漸衍生出很多的管理器翘单,常見的幾種包管理器如:npm、cnpm蹦渣、yarn哄芜、pnpm,那你知道這些管理器之間有哪些區(qū)別嗎柬唯?我們一起來逐個認識下它們:

npm

npm 是 Node.js 自帶的包管理器认臊,平時通過 npm install 命令來安裝各種 npm 包(比如:npm install vue-router ),就是通過這個包管理器來安裝的锄奢。
關于 npm 包下載鏡像源的設置:

# 查看下載源
npm config get registry

# 綁定下載源
npm config set registry https://registry.npmmirror.com

# 刪除下載源
npm config rm registry

npm 的 包的版本鎖定文件是 package-lock.json 失晴,如果有管理多人協(xié)作倉庫的需求,可以根據(jù)實際情況把它添加至 .gitignore 文件拘央,便于統(tǒng)一團隊的包管理涂屁。

cnpm

cnpm 是阿里巴巴推出的包管理工具,安裝之后默認會使用 https://registry.npmmirror.com 這個鏡像源灰伟。
它的安裝命令和 npm 非常一致拆又,通過 cnpm install 命令來安裝(比如 cnpm install vue-router)。
在使用它之前,需要通過 npm 命令進行全局安裝:

npm install -g cnpm

# 或者
npm install -g cnpm --registry=https://registry.npmmirror.com

cnpm 不生成 版本鎖定 lock 文件帖族,也不會識別項目下的 lock 文件栈源,所以還是推薦使用 npm 或者其他包管理工具,通過綁定鏡像源的方式來管理項目的包竖般。

yarn

yarn 也是一個常用的包管理工具甚垦,和 npm 十分相似, npmjs 上的包捻激,也會同步到 yarnpkg 制轰。
也是需要全局安裝才可以使用:

npm install -g yarn

但是安裝命令上會有點不同, yarn 是用 yarn add 代替 npm install 胞谭,用 yarn remove 代替 npm uninstall 垃杖,例如:

# 安裝單個包
yarn add vue-router

# 安裝全局包
yarn global add typescript

# 卸載包
yarn remove vue-router

而且在運行腳本的時候,可以直接用 yarn 來代替 npm run 丈屹,例如 yarn dev 相當于 npm run dev 调俘。
升級的時候用 yarn upgrade 代替 npm update命令。
yarn 默認綁定的是 https://registry.yarnpkg.com 的下載源旺垒,如果包的下載速度太慢彩库,也可以配置鏡像源,但是命令有所差異:

# 查看鏡像源
yarn config get registry

# 綁定鏡像源
yarn config set registry https://registry.npmmirror.com

# 刪除鏡像源(注意這里是 delete )
yarn config delete registry

yarn 的 版本鎖定文件是 yarn.lock 先蒋,如果有管理多人協(xié)作倉庫的需求骇钦,可以根據(jù)實際情況把它添加至 .gitignore 文件,便于統(tǒng)一團隊的包管理竞漾。

pnpm

pnpm 是包管理工具的一個后起之秀眯搭,主要優(yōu)點在于快速的、節(jié)省磁盤空間业岁,如果你的包在一個項目中已經下載了鳞仙,其它項目再用到這個包就不需要再次下載,而是通過軟鏈接的方式關聯(lián)笔时。用法跟其他包管理器很相似棍好,沒有太多的學習成本, npm 和 yarn 的命令它都支持允耿。
也是必須先全局安裝它才可以使用:

npm install -g pnpm

目前 pnpm 在開源社區(qū)的使用率越來越高借笙,包括接觸最多的 Vue / Vite 團隊也在逐步遷移到 pnpm 來管理依賴。
pnpm 的下載源使用的是 npm 较锡,所以如果要綁定鏡像源提澎,按照 npm 的方式處理就可以了。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末念链,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掂墓,老刑警劉巖谦纱,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異君编,居然都是意外死亡跨嘉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門吃嘿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祠乃,“玉大人,你說我怎么就攤上這事兑燥×链桑” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵降瞳,是天一觀的道長嘱支。 經常有香客問我,道長挣饥,這世上最難降的妖魔是什么除师? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮扔枫,結果婚禮上汛聚,老公的妹妹穿的比我還像新娘。我一直安慰自己短荐,他們只是感情好倚舀,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搓侄,像睡著了一般瞄桨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上讶踪,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天芯侥,我揣著相機與錄音,去河邊找鬼乳讥。 笑死柱查,一個胖子當著我的面吹牛,可吹牛的內容都是我干的云石。 我是一名探鬼主播唉工,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汹忠!你這毒婦竟也來了淋硝?” 一聲冷哼從身側響起雹熬,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谣膳,沒想到半個月后竿报,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡继谚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年烈菌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片花履。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡芽世,死狀恐怖,靈堂內的尸體忽然破棺而出诡壁,到底是詐尸還是另有隱情济瓢,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布欢峰,位于F島的核電站葬荷,受9級特大地震影響,放射性物質發(fā)生泄漏纽帖。R本人自食惡果不足惜宠漩,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懊直。 院中可真熱鬧扒吁,春花似錦、人聲如沸室囊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽融撞。三九已至盼铁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間尝偎,已是汗流浹背饶火。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留致扯,地道東北人肤寝。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像抖僵,于是被迫代替她去往敵國和親鲤看。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內容