這篇文章主要介紹“Node包管理器npm和yarn怎么使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Node包管理器npm和yarn怎么使用”文章能幫助大家解決問題。
創新互聯建站長期為上1000+客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為洮北企業提供專業的網站設計制作、網站設計,洮北網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發。

npm是什么
使用npm前首先要了解什么是npm,npm是Node的開源倉庫,并且是全球最大的開源倉庫
截至2020年3月17日,npm為大約1200萬開發人員提供了130萬個軟件包,這些開發人員每月下載這些軟件包達750億次
要想去下載使用npm倉庫里面的資源可以使用npm的指令(npm開頭的,如npm i axios 下載axios)或使用其它第三方的指令(第三方的Node包管理器),如yarn等
官方說法:
npm是NodeJS的包管理和分發工具包管理就體現在它是個
NodeJS的倉庫,存放并管理著NodeJS的各種軟件包分發工具就體現在使用
npm的指令去下載npm倉庫里的包
在我們配置NodeJS環境時,npm指令模塊是隨著NodeJS一起安裝的,我們可以通過終端運行npm -v 查看安裝的版本:
.jpg)
但如果默認安裝的npm版本太老,你也可以自己手動安裝更新npm:
npm i npm@latest -g
@latest代表安裝最新版本,-g代表全局安裝,這些npm指令將在后面講到
上面可以發現一個神奇的事情,我們正在通過npm安裝npm,自己安裝自己?
這其實很好理解,npm的指令模塊也是作為一個包存放于npm這個倉庫中的,并且這個包的名字就叫npm

所以我們一般稱呼的npm都只是指npm的這個指令模塊(這個名為npm的包)
但其實
npm這個詞即代指了npm指令模塊,也代指了npm這個NodeJS開源倉庫本身
所以就有了我們在npm中(這個npm代表NodeJS的開源倉庫)下載npm(這個npm代表名為npm的這個包,這個包是npm的指令模塊)的說法
npm常用指令
npm的指令非常多,這里只列舉出常用的,更多信息可見npm官方文檔
npm init :生成package.json

npm install :下載package.json中記錄的所有資源
npm install 包名 : 下載指定的包到當前目錄下
npm uninstall 包名 : 卸載當前目錄下指定的包
npm update 包名 :更新當前目錄下指定的包,不加包名則更新當前目錄下所有包
npm outdated 包名 :檢查當前目錄下指定包是否過時,不加包名則檢查當前目錄下所有包
npm info 包名:獲取當前目錄下包的詳細信息
npm list:查看當前目錄下安裝的所有包及其依賴并顯示版本號(list可簡寫為ls)
npm list 包名:查看當前目錄下安裝的指定包的版本號(list可簡寫為ls)
幾點補充:
install可簡寫為i,如:npm install axios可簡寫為npm i axios
uninstall 可簡寫為un
在包名后加@符可指定包的版本,如:npm i md5@1下載1版本的md5,npm i md5@latest表示下載最新版本的md5
npm指令后綴
-g:指定全局環境
npm指令默認是在當前目錄下操作,加上-g是指定在全局環境下操作,如上面提到的全局安裝npm最新版:npm i npm@latest -g,這樣在任何目錄下都能使用npm
--save可簡寫為-s: 指定 生產環境下的依賴(記錄在dependencies中)
npm5版本之后默認是--save,如安裝在生產環境和開發環境都需要用到的axios:npm i axios -s
--save-dev可簡寫為-D:指定開發環境下的依賴(記錄在devDependencies中)
如安裝生產環境下不需要使用的babel(僅在開發環境下使用的到):
npm i babel -D
--save-prod可簡寫為-P:與--save相同
--save-optional可簡寫為-O:指定可選依賴(記錄在optionalDependencies中)
--no-save:不會記錄在package.json中
關于
-g,--save,--save-dev的具體作用和區別可看我的這篇文章:npm install -g/–save/–save-dev的區別
npm指令后綴也可以放到包名的前面:
npm i -g npm@latest
依賴包管理
在 npm 中,熟知的依賴是 :dependencies 和 devDependencies
除此之外,其實還有包括 :
peerDependencies,
optionalDependencies
bundledDependencies / bundleDependencies
在內的幾種依賴,這些都是在package.json中進行記錄的:

上面我們說npm指令后綴時提到了這幾種依賴,這里詳細說一下它們代表什么:
dependencies和 devDependencies
peerDependencies
optionalDependencies
可選依賴,如果有一些依賴包即使安裝失敗,項目仍然能夠運行或者希望npm繼續運行,就可以使用
optionalDependencies,另外optionalDependencies會覆蓋dependencies中的同名依賴包,所以不要在兩個地方都寫
bundledDependencies / bundleDependencies
打包依賴,
bundledDependencies是一個包含依賴包名的數組對象,在發布時會將這個對象中的包打包到最終的發布包里,數組里面的包必須先在devDependencies或dependencies聲明過,否則打包會報錯
package.json中需要注意的包版本問題
通過npm下載的所有包的版本信息都會記錄在package.json中
在運行npm i時就會根據package.json中記錄的包信息進行下載,它的下載規則如下:
包版本以^開頭時(默認情況),會鎖定大版本
// package.json
"dependencies": {
"md5": "^2.1.0" // ^開頭的
},通過
npm i將會安裝md52.x.x的最新版本(2大版本下的最新版本),并不一定是2.1.0,還可能是2.3.0
包版本以~開頭時,會鎖定到第二個大版本
// package.json
"dependencies": {
"md5": "~2.1.0"
},通過
npm i將會安裝md52.1.x的最新版本(2.1版本下的最新版本),并不一定是2.1.0,還可能是2.1.1
包版本為*,會鎖定到最新版本
// package.json
"dependencies": {
"md5": "*"
},通過
npm i將會安裝md5的最新版本
包版本前不帶前綴,會鎖定到指定版本
// package.json
"dependencies": {
"md5": "2.1.0"
},通過
npm i將會安裝md5的2.1.0版本
解決npm速度慢的問題
因為npm倉庫在國外,我們在國內使用npm指令下載這個國外倉庫的內容速度會比較慢
這時我們就可以運行以下指令將npm的倉庫源切換到國內的淘寶鏡像(cnpm)的源:
npm config set registry https://registry.npmmirror.com
使用npm config get registry查看當前源:

往后再使用npm時就會自動從國內的淘寶鏡像倉庫下載了,速度就會很快
淘寶鏡像之前的源地址為http://registry.npm.taobao.org,現在更改為了http://registry.npmmirror.com,
但我們這樣通過修改npm的配置進行源的切換難免會有點麻煩,我們可以全局安裝一個nrm來幫助我們快速的切換npm源
使用nrm快速切換npm源
全局安裝nrm:
npm install -g nrm
執行nrm ls可查看可切換的npm源:

使用npm use 切換源,如切換到淘寶源:nrm use taobao

使用nrm test 源名測試相應源的響應時間:

可以看到淘寶源的響應速度要比npm的默認源快很多
中國npm鏡像:cnpm
cnpm是一個完整的npmjs.org鏡像,可以用它代替官方版本
cnpm與官方版本的同步頻率為10分鐘一次,cnpm官網
下載cnpm:
npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm就是淘寶鏡像,上面我們使用淘寶鏡像源只是將npm的源更改為淘寶鏡像(cnpm)的源(這個源其實就是指倉庫的地址),之后還是通過npm指令進行使用
而這里是直接下載cnpm這個完整鏡像,之后就可以使用cnpm指令而不是npm指令:
cnpm installcnpm i axios -g // ....
cnpm的指令與npm的指令完全相同,使用時直接使用cnpm代替npm就行
yarn是Facebook發布的一款依賴管理工具,它比npm更快、更高效
安裝:
npm install -g yarn
更新yarn:
yarn set version latest yarn set version from sources
優點
速度超快yarn 緩存了每個下載過的包,所以再次使用時無需重復下載。 同時利用并行下載以最大化資源利用率,因此安裝速度更快
超級安全
在執行代碼之前,yarn 會通過算法校驗每個安裝包的完整性
yarn常用指令
yarn init:初始化項目,生成package.json文件,生成步驟與npm init大致相同

yarn help:顯示命令列表
yarn install:下載package.json中記錄的所有資源,可簡寫為yarn
yarn add 包名: 下載指定的包到當前目錄下
yarn remove 包名: 卸載當前目錄下指定的包
yarn upgrade 包名:更新當前目錄下指定的包,包名后可加@指定版本號來指定需要更新到的版本
yarn指令后綴
--dev:指定開發環境下的依賴(devDependencies),簡寫為-D
--peer:指定核心依賴(peerDependencies )
--optional:指定可選依賴(optionalDependencies)
關于“Node包管理器npm和yarn怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注創新互聯行業資訊頻道,小編每天都會為大家更新不同的知識點。
網站標題:Node包管理器npm和yarn怎么使用
本文網址:http://www.yijiale78.com/article20/jjpcjo.html
成都網站建設公司_創新互聯,為您提供網站導航、關鍵詞優化、品牌網站設計、微信小程序、網站改版、響應式網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯