一文搞定nodeJS相關(guān)的nvm武契、npm、nrm荡含、yarn咒唆、npx等

node、npm等相關(guān)概念

nodenpm 相關(guān)的名詞很多释液,比較容易混淆全释。

下面對這些名詞做個統(tǒng)一梳理

  • node:一個基于 Chrome V8 引擎的 JavaScript 運行時;提供了 JavaScript 的運行環(huán)境误债〗可以直接到 node 官網(wǎng)下載安裝
  • nvm:node.js 版本管理工具;不同項目可能需要不同版本的 node寝蹈;可以使用 nvm 來管理 node.js 版本
  • npm:node.js 包管理工具李命;用來管理 node.js 中的第三方插件;新版本的 node 在安裝的時候箫老,會自動安裝對應(yīng)版本的 npm
  • nrm:npm 源的管理工具项戴,可以用來方便的切換 npm 源
  • cnpm:使用的是淘寶的源。用法跟 npm 完全一致槽惫。cnpm 經(jīng)常會有問題,所以在很多地方不推薦使用
  • yarn:經(jīng)過重新設(shè)計的嶄新的 npm 客戶端辩撑;運行速度顯著提升界斜,整個安裝時間比 npm 少。一般推薦使用 yarn 代替 npm
  • npx:一個 npm 包執(zhí)行器合冀。我們可以使用 npx 來執(zhí)行各種命令各薇。

使用 nvm 管理 node.js 版本

參考:使用 nvm 管理 node.js 版本

npm

參考:npm常用命令操作

使用 nrm 管理 npm 源

當使用官方 npm 源安裝各種包比較慢的時候,建議修改 npm 源地址

npm 相關(guān)參考:npm常用命令操作

推薦使用 nrm 管理 npm 源

nrm 是專門用來管理和快速切換私人配置的 registry

推薦全局安裝

npm install nrm -g

常用命令

  • nrm ls :查看默認配置君躺,帶 * 號即為當前使用的配置
  • nrm current :查看當前使用的是哪個源
  • nrm use [源的別名] :切換到某個源
  • nrm add [源的別名] [源的地址] :添加私有源峭判。eg: nrm add qihoo http://registry.npm.360.org
  • nrm test [源的別名] :測試某個源
  • nrm del [源的別名] :刪除某個源

cnpm

npm 安裝插件是從國外服務(wù)器下載,受網(wǎng)絡(luò)影響大棕叫,可能出現(xiàn)異常林螃。

淘寶團隊復(fù)制了一個完成的 npmjs.org 鏡像,用此代替官方版本(只讀)俺泣,同步頻率目前為 10分鐘 一次以保證盡量與官方服務(wù)同步疗认。即: cnpm

cnpm 跟 npm 用法完全一致完残,只是在執(zhí)行命令時將 npm 改為 cnpm

推薦全局安裝cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

安裝完成后,可以使用命令 cnpm -v 檢查是否安裝成功横漏。

如果能正常顯示版本號,表示已安裝成功缎浇。如果顯示 不是內(nèi)部或者外部命令 ,則需要手動將安裝目錄添加到系統(tǒng)變量中

yarn

yarn 是經(jīng)過重新設(shè)計的嶄新的 npm 客戶端二蓝;運行速度顯著提升,整個安裝時間比 npm 少

像 npm 一樣亡笑, yarn 使用本地緩存侣夷。與 npm 不同的是仑乌, yarn 無需互聯(lián)網(wǎng)連接就能安裝本地緩存的依賴項百拓,它提供了離線模式晰甚。這個功能在2012年的 npm 項目中就被提出來過衙传,但一直沒有實現(xiàn)。

一般推薦使用 yarn 代替 npm

運行以下命令即可安裝 yarn

npm install yarn -g

yarn 和 npm 命令對比如下

npm yarn 描述
npm init yarn init 初始化項目
npm install yarn厕九、yarn install 安裝依賴
npm install xxx蓖捶、npm install xxx --save扁远、npm install xxx -S yarn add xxx 安裝某依賴,寫入dependencies
npm install xxx --save-dev并闲、npm install xxx -D yarn add xxx --dev谷羞、yarn add xxx -D 安裝某依賴,寫入devDependencies
npm install xxx -g yarn global add xxx 全局安裝某依賴
npm update xxx yarn upgrade xxx 更新某依賴
npm uninstall xxx yarn remove xxx 刪除某依賴
npm cache clean yarn cache clean 清除全局緩存依賴包
npm run dev yarn dev湃缎、yarn run dev 執(zhí)行 dev 命令

npx

npx 是 npm v5.2.0 引入的一條命令( npx ),是一個 npm 包執(zhí)行器九巡。我們可以使用 npx 來執(zhí)行各種命令靠瞎。

主要有以下特點:

  • 臨時安裝可執(zhí)行依賴包求妹,不用全局安裝佳窑,不用擔心長期的污染制恍。
  • 可以執(zhí)行依賴包中的命令神凑,安裝完成自動運行。
  • 自動加載 node_modules 中依賴包鹃唯,不用指定 $PATH 瓣喊。
  • 可以指定 node 版本、命令的版本藻三,解決了不同項目使用不同

npx 執(zhí)行流程如下:

  1. node_modules/.bin 路徑檢查對應(yīng)的命令是否存在,找到之后執(zhí)行棵帽;
  2. 沒有找到,就去環(huán)境變量 $PATH 里面弟晚,檢查對應(yīng)命令是否存在逾苫,找到之后執(zhí)行;
  3. 還是沒有找到,自動下載一個臨時的依賴包最新版本在一個臨時目錄铅搓,然后再運行命令,運行完之后刪除,不污染全局環(huán)境指煎。

安裝過程很簡單,直接運行以下命令即可

npm install npx -g

npx 使用場景

  • 執(zhí)行本地命令

比如項目下安裝了 mocha 威始,可以直接用 npx 執(zhí)行

npx mocha --version
  • 一次性執(zhí)行命令

比如以下命令像街,npx 將 create-react-app 下載到一個臨時目錄晋渺,使用以后再刪除

不用全局安裝 create-react-app 脓斩,運行后不會污染全局環(huán)境

npx create-react-app myApp

  • 切換 node 版本

要運行的命令不兼容當前的 node 版本時,可使用 npx 切換版

npx 的 -p 選項指定要安裝的包随静,并將其添加到正在運行的 $PATH 中

npx node@12 -v
  • 開啟靜態(tài)服務(wù)器

使用 http-server 或者 serve 開啟靜態(tài)服務(wù)器。方便本地預(yù)覽打包后的項目

npx http-server           # 默認返回根目錄下index.html

npx http-server -p 3000   # 也可以直接指定端口
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恋捆,一起剝皮案震驚了整個濱河市重绷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌愤钾,老刑警劉巖葬凳,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異劲装,居然都是意外死亡昌简,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門谦疾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人念恍,你說我怎么就攤上這事晚顷。” “怎么了该默?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵栓袖,是天一觀的道長店诗。 經(jīng)常有香客問我音榜,道長,這世上最難降的妖魔是什么囊咏? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮霜第,結(jié)果婚禮上户辞,老公的妹妹穿的比我還像新娘。我一直安慰自己底燎,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布枢希。 她就那樣靜靜地躺著朱沃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搬卒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天契邀,我揣著相機與錄音失暴,去河邊找鬼。 笑死田盈,一個胖子當著我的面吹牛缴阎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛮拔,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼畦韭!你這毒婦竟也來了肛跌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤转唉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赠法,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乔夯,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年侧纯,在試婚紗的時候發(fā)現(xiàn)自己被綠了甲脏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡聋涨,死狀恐怖负乡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抖棘,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布最岗,位于F島的核電站朝捆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜脸秽,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一蝴乔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧薇正,春花似錦、人聲如沸雕沿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宁脊。三九已至,卻和暖如春稳衬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背薄疚。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工赊琳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人板丽。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓趁尼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酥泞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容