為什么不推薦使用 cnpm始苇?

配圖源自 Freepik

在前端項目構(gòu)建的過程中,npm筐喳、yarn 應(yīng)該是當(dāng)前使用得最頻繁的包管理工具了催式,他們幫助我們解決了復(fù)雜的依賴關(guān)系。在使用 npm 下載包時疏唾,由于是從國外的 NPM 服務(wù)器上下載蓄氧,導(dǎo)致有時安裝第三方包到本地時很慢函似,很蛋疼吧槐脏。

于是就有了 cnpm,這是淘寶團(tuán)隊做的淘寶 NPM 鏡像撇寞。你可以放心地用 cnpm 來代替 npm顿天,因為它同步頻率為 10 分鐘一次,以保證盡量與官方服務(wù)同步蔑担。

如果需要馬上更新牌废,cnpm 提供了一個特有命令 cnpm sync <pkg-name> 來同步某個模塊。

「重要通知」原淘寶 npm 域名即將停止解析啤握,請切換至新域名 npmmirror.com鸟缕,http://npm.taobao.orghttp://registry.npm.taobao.org 將在 2022.06.30 號正式下線和停止 DNS 解析。

相關(guān)域名切換參考如下:

http://npm.taobao.org => https://npmmirror.com
http://registry.npm.taobao.org => https://registry.npmmirror.com

一排抬、使用 cnpm(不推薦)

使用 cnpm 命令替代 npm懂从,安裝非常地簡單。

它支持 npm 除了 npm publish 之外的所有命令蹲蒲。

  1. 安裝
$ npm i -g cnpm --registry=https://registry.npmmirror.com/
  1. 測試是否成功安裝
$ cnpm -v
  1. 安裝模塊
$ cnpm install [name]

二番甩、替換 npm 鏡像源

盡管我們安裝并使用 cnpm,但是有一些命令(如 create-react-app 等)它們內(nèi)部還是使用了 npm 命令届搁,仍是訪問國外的鏡像源缘薛,所以還是會慢。

首先卡睦,通過以下命令可以查看或設(shè)置 npm 的源地址:

# 查看 registry
$ npm config get registry

# 設(shè)置 registry
$ npm config set registry <registry-url>

下面我們將其修改為淘寶鏡像源:

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

也可以直接在配置文件 ~/.npmrc 中添加一行配置并保存:

registry=https://registry.npm.taobao.org/

三宴胧、安裝依賴包時,直接指定鏡像源

這種方式太麻煩了表锻,每次都要加上鏡像源地址牺汤。

$ npm i <pkg-name> --registry=https://registry.npmmirror.com

四、為什么不推薦 cnpm 呢浩嫌?

首先檐迟,使用 npm 作為前端項目包管理工具的話补胚,使用 npmcnpm 來安裝包時有區(qū)別的。通常我們前端項目中都會有 package-lock.json 文件(其作用可看文章)追迟,這兩個命令對其有一定的影響:

  • cnpm i不受 package-lock.json 影響溶其,只會根據(jù) package.json 進(jìn)行下載安裝。
  • cnpm i xxx@xxx不會跟新到 package-lock.json 中去敦间。
  • npm i xxx@xxx 會跟新到 package-lock.json 中去瓶逃。

在多人共同協(xié)作維護(hù)的項目中,package-lock.json 是必不可少的廓块,是為了確保不同開發(fā)者安裝的包及其依賴保持一致厢绝,同時也是降低不同版本 npm 包給項目穩(wěn)定性帶來的影響。尤其是一些不遵循語義化版本控制的第三方 npm 包带猴,就很容易被坑到昔汉。

五、用更好的方式嗎拴清?

通常靶病,個人在項目中使用得更多的是 yarn。管理鏡像源推薦使用 nrmyrm口予,可以快速切換鏡像源娄周。前者僅會修改 npm 鏡像源,后者會同時修改 npmyarn 鏡像源沪停。

另外煤辨,你有嘗試過 pnpmcorepack 嗎?

關(guān)于一些全局依賴包木张,個人使用習(xí)慣是:與 Node 版本有關(guān)的使用 npm 安裝(比如 Taro CLI 等)并配合 nvm 工具進(jìn)行管理众辨,其他的一般使用 yarn 進(jìn)行安裝。

管理 Node 版本推薦使用 nvm 工具窟哺,但請注意泻轰,如果使用了 nvm 建議移除 ~/.npmrc 中的 prefix 配置項(如果有的話),否則全局包可能會安裝到同一目錄下且轨,而不會隨著 Node 的切換而變化(原因看這里)浮声。

The end.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市旋奢,隨后出現(xiàn)的幾起案子泳挥,更是在濱河造成了極大的恐慌,老刑警劉巖至朗,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屉符,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)矗钟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進(jìn)店門唆香,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吨艇,你說我怎么就攤上這事躬它。” “怎么了东涡?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵冯吓,是天一觀的道長。 經(jīng)常有香客問我疮跑,道長组贺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任祖娘,我火速辦了婚禮失尖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贿条。我一直安慰自己雹仿,他們只是感情好增热,可當(dāng)我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布整以。 她就那樣靜靜地躺著,像睡著了一般峻仇。 火紅的嫁衣襯著肌膚如雪公黑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天摄咆,我揣著相機(jī)與錄音凡蚜,去河邊找鬼。 笑死吭从,一個胖子當(dāng)著我的面吹牛朝蜘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涩金,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼谱醇,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了步做?” 一聲冷哼從身側(cè)響起副渴,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎全度,沒想到半個月后煮剧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年勉盅,在試婚紗的時候發(fā)現(xiàn)自己被綠了佑颇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡草娜,死狀恐怖漩符,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情驱还,我是刑警寧澤嗜暴,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站议蟆,受9級特大地震影響闷沥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咐容,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一舆逃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧戳粒,春花似錦路狮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苹祟,卻和暖如春砸抛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背树枫。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工直焙, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人砂轻。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓奔誓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親搔涝。 傳聞我的和親對象是個殘疾皇子厨喂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,834評論 2 345