這里寫目錄標題
- 什么是包
- 包管理工具
- 常用的包管理工具
- npm
- npm 基本使用
- 初始化
- 搜索工具包
- 下載安裝包
- 導入 npm 包基本流程
- 生產依賴與開發依賴
- 全局安裝
- 安裝全部依賴
- 安裝指定版本的包
- 刪除依賴包
- cnpm
- 全局安裝
- nrm 的使用
- yarn
- 全局安裝
- yarn 常用命令
- pnpm 【推薦使用】
- 全局安裝
什么是包
● 包是一組特定功能的代碼集合,英文為:
package
。
● 包,本質上是一種文件系統的集成描述形式,屬于模塊化的一種超集體現。
包管理工具
集中式管理『包』的應用軟件,可以對「包」進行
下載,安裝 , 更新 , 刪除 , 上傳
等操作
借助包管理工具,可以快速開發項目,提升開發效率
包管理工具是一個通用的概念,很多編程語言都有包管理工具
常用的包管理工具
- npm ( node js 內置 官網)
- pnpm
- yarn
- cnpm
npm
npm
全稱Node Package Manager
,翻譯為中文意思是『Node 的包管理工具』
npm
是 node.js官方內置
的包管理工具,是必須要掌握住的工具
node.js
在安裝時會 自動安裝npm
可以通過npm -v
查看版本號測試,如果顯示版本號說明安裝成功,反之安裝失敗
npm 基本使用
初始化
- 創建一個空目錄,然后以此目錄作為工作目錄 啟動命令行工具 ,執行
npm init
npm init
命令的作用是將文件夾初始化為一個『包』, 交互式創建package.json
文件package.json
是包的配置文件,每個包都必須要有package.json
package.json
內容示例:
{
"name": "1-npm", #包的名字
"version": "1.0.0", #包的版本
"description": "", #包的描述
"main": "index.js", #包的入口文件
"scripts": { #腳本配置
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "", #作者
"license": "ISC" #開源證書
}
搜索工具包
- 命令行 『npm s / search 包名』
- 網站搜索 網址是 https://www.npmjs.com/ (
推薦
)
下載安裝包
我們可以通過
npm install
和npm i
命令安裝包
如:
npm install uniq --save 或 npm i uniq -S
運行之后文件夾下會增加兩個資源
-
node_modules
文件夾 存放下載的包 -
package-lock.json
包的鎖文件 ,用來鎖定包的版本 -
關于
package-lock.json
中的版本限制的說明:^
:鎖定主版本號,接受所有以1開頭的版本,如:1.0.2等,但不包括2.0.0。~
:允許安裝小版本的更新,但不包括次要版本的更改。~1.0.1 允許 1.0.x。>
:允許比指定版本更高的版本,但不包括指定版本本身。>1.0.1 允許 1.0.2, 1.1.0, 2.0.0等。<
:允許比指定版本更低的版本。<1.0.1 允許 1.0.0 及更早的版本。>=
:允許指定版本及更高的版本。>=1.0.1 允許 1.0.1 及其之后的版本。<=
:允許指定版本及更低的版本。<=1.0.1 允許 1.0.1 及其之前的版本。*
:允許任何版本,這種情況下最不限制,但也最不穩定。
-
如果沒有任何符號,只寫版本號,如 1.0.1,這意味著嚴格要求安裝這個特定版本。
導入 npm 包基本流程
- 在當前文件夾下
node_modules
中尋找同名的文件夾 - 在上級目錄中下的
node_modules
中尋找同名的文件夾,直至找到磁盤根目錄
生產依賴與開發依賴
我們可以在安裝時設置選項來區分 依賴的類型
,目前分為兩類:
類別 | 命令 | 描述 | 說明 |
---|---|---|---|
生產 依賴 | npm i -S 包名 npm i --save 包名 | -S 等效于 --save, -S 是默認選項 包信息保存在 package.json 中 dependencies 屬性 | 開發環境、生產環境都要用的 ,是生產 依賴包。 |
開發 依賴 | npm i -D 包名 npm i --save-dev 包名 | -D 等效于 --save-dev 包信息保存在 package.json 中 devDependencies 屬性 | 只有開發環境用到的包 ,是開發 依賴包。 |
全局安裝
我們可以執行安裝選項 -g
進行全局安裝
npm install -g 包名
- 全局安裝的命令不受工作目錄位置影響
- 可以通過
npm root -g
可以查看全局安裝包的位置 - 通過
npm list -g
查看全局包的列表 不是所有的包都適合全局安裝
,通常是命令行工具包,才適合全局安裝。
安裝全部依賴
在項目協作中有一個常用的命令就是 npm i
,通過該命令可以依據 package.json
和 packagelock.json
的依賴聲明安裝項目依賴
若只想安裝生產依賴,可以使用npm install --prod
或 npm i --omit=dev
npm i
或
npm install
安裝指定版本的包
項目中可能會遇到版本不匹配的情況,有時就需要安裝指定版本
的包,可以使用下面的命令的
## 格式
npm i <包名@版本號>## 示例
npm i jquery@1.11.2
查看一個包的所有版本
npm view 包名 versions
刪除依賴包
## 局部刪除
npm remove 包名
npm r 包名
## 全局刪除
npm remove -g 包名
npm r -g 包名
以上就是對包管理工具進行了一個初步的介紹,其余的幾種包管理工具的核心,概念和使用方法都是大同小異,只要將 npm
掌握了,其它的也就很容易上手了。
cnpm
cnpm
是一個 npm 的替代工具,cnpm 服務器部署在國內,主要用于在國內優化 npm 包的下載速度,cnpm 由淘寶團隊創建和維護,又稱:淘寶鏡像。
npm原始服務器
地址:https://registry.npmjs.org/cnpm服務器
地址為:https://registry.npmmirror.com/cnpm
:官網
全局安裝
- 對于
cnpm
的使用有兩種方式:- 第一種方式:安裝
cnpm 包管理器
- 第一種方式:安裝
npm install cnpm -g --registry=https://registry.npmmirror.com
該種方式是全局安裝了 cnpm 包
,并且切換了包的下載源,以后全局用 cnpm
命令即可,cnpm兼容npm命令
- 第二種方式:僅
修改npm服務器
地址
npm config set registry https://registry.npmmirror.com
該種方式只是修改了npm服務器地址,以后還是用npm命令
npm 原始遠程服務器地址為 https://registry.npmjs.org/
查看下載服務器源
地址
npm config get registry
nrm 的使用
nrm(NPM Registry Manager)是一個用于管理npm注冊表的工具,方便用戶在多個npm注冊表之間切換。它適用于在
不同的npm源之間快速切換
。
- 安裝
npm install nrm -g
- 列出可用地址
nrm ls
- 添加新地址
nrm add 別名 URL
- 切換到指定地址
nrm use 別名
- 測試各地址速度
nrm test
- 刪除地址
nrm del 別名
yarn
yarn是一個快速、可靠的依賴管理工具,由 Facebook
在 2016 年開發,yarn的優勢如下:
速度
:yarn使用并行安裝機制來加快速度。緩存
:yarn會緩存每個下載過的包,無需重復下載。界面
:yarn提供更詳細的輸出,包括進度條等等。安全
:yarn會通過算法校驗每個安裝包的完整性。yarn
:官網
備注:以上 yarn 的優勢,目前最新的 npm 也都基本具備了。所以這些優勢如今并不明顯
全局安裝
npm i yarn -g
備注
:安裝 yarn 后,需要在系統全局配置環境變量
yarn 常用命令
yarn 命令 | 功能描述 | 對應 npm 命令 |
---|---|---|
yarn init | 初始化包 | npm init |
yarn -v | 查看版本號 | npm -v |
yarn add 包名 | 安裝某個包 | npm install 包名 |
yarn add 包名 -D | 安裝某個包(開發依賴) | npm install 包名 -D |
yarn global add 包名 | 全局安裝一個包 | npm install 包名 -g |
yarn global dir | 查看全局安裝位置 | npm root -g |
yarn global list | 查看全局安裝列表 | npm list -g |
yarn install | 安裝全部依賴 | npm install |
yarn remove 包名 | 刪除包 | npm remove 包名 |
yarn run 別名 | 運行命令別名 | npm run 別名 |
pnpm 【推薦使用】
pnpm
(“performant npm”)是一個高效
的包管理工具,與npm和yarn類似。它通過硬鏈接
和軟鏈接
來共享依賴庫
,從而節省磁盤空間
和加速安裝過程。并且很好的解決了幻影依賴
的問題
pnpm:官網
點擊了解幻影依賴
全局安裝
npm install pnpm -g
🚵?♂? 博主座右銘:向陽而生,我還在路上!
——————————————————————————————
🚴博主想說:將持續性為社區輸出自己的資源,同時也見證自己的進步!
——————————————————————————————
🤼?♂? 如果都看到這了,博主希望留下你的足跡!【📂收藏!👍點贊!??評論!】
——————————————————————————————