NPM包管理工具
npm是nodejs包管理工具
安裝
安裝nodejs即可,自帶npm工具,無需單獨安裝,安裝nodejs百度一下,安裝完後檢查一下是否成功安裝:node -v && npm -v
更新全局npm到最新版本:npm install npm@latest -g
npm官方文檔:https://www.npmjs.cn/
npm自定義文件路徑:
-
修改npm緩存目錄和全局安裝目錄:
D盤node目錄下創建兩個目錄,分別是node_cache和node_global,這是用來放安裝過程的緩存文件以及最終的模塊配置位置,執行下面這兩個命令
npm config set prefix “D:\Program Files\node\node_global” npm config set cache “D:\Program Files\node\node_cache”
-
配置npm和nodejs環境變量
變量名填:NODE_PATH
變量值填:D:\Program Files\node\node_modules\
;D:\ProgramFiles\node\node_global\
npm安裝模塊
#全局安裝,簡寫-g
npm install 模塊名 -g
#本地安裝運行時依賴包
npm install 模塊名
#本地安裝運行時依賴包,簡寫-S
npm install 模塊名 --save
#本地一次性安裝多個
npm install 模塊名 模塊名
#本地安裝開發時依賴包,簡寫-D
npm install 模塊名 --save-dev
npm更新模塊
#檢查包是否已經過時
npm outdated
#更新node模塊
npm update 模塊名
#更新全局node模塊
npm update 模塊名 -g
#更新到指定版本
npm update 模塊名@版本號
#更新到最新版本
npm update 模塊名@latest
npm卸載模塊
#卸載本地node模塊
npm uninstall 模塊名
#卸載全局模塊
npm uninstall 模塊名 -g
npm查看模塊
#查看幫助命令
npm help
#查看某個包對於各種包的依賴關係
npm view 模塊名 dependencies
#查看包的源文件地址
npm view 模塊名 repository.url
#查看當前模塊依賴的node最低版本號
npm view 模塊名 engines
#查看模塊的當前版本號
npm view 模塊名 version
#查看模塊的歷史版本和當前版本
npm view 模塊名 versions
#查看一個模塊的所有信息
npm view 模塊名
#查看當前已經安裝的模塊
npm list
#限制輸入的模塊層級
npm list --depth=0
npm list 模塊名
#查看全局的包的安裝路徑
npm root -g
npm不常用功能
#更改包內容後進行重建
npm rebuild 模塊名
#訪問package.json的字段文檔
npm help json
#查看某個模塊的bugs列表界面
npm bugs 模塊名
#打開某個模塊的倉庫界面
npm repo 模塊名
#打開某個模塊的文檔
npm docs 模塊名
#打開某個模塊的主頁
npm home 模塊名
#清除未被使用到的模塊
npm prune
注意:默認情況下,當用–save或者–save-dev安裝一個模塊時,npm通過脫字符(^)來限定所安裝模塊的主版本號,而該脫字符對於不同的版本號有不同的更新機制:
- ^1.2.1 代表的更新版本範圍爲 >=1.2.1 && < 2.0.0
- ^0.2.1 代表的更新版本範圍爲 >=0.2.1 && <0.3.0
- ^0.0.2 代表的更新版本範圍爲 0.0.2
package.json
該文件配置了項目各項依賴關係,在項目初始化時使用npm install
來安裝所有依賴(或者yarn
)
該文件必須有的屬性:name 必須全小寫,無空格,可以使用-和_,version格式爲:x.x.x
{
"name": "my-awesome-package", "version": "1.0.0"
}
創建package.json
-
方法一:npm init
全程手動設置
-
方法二:npm init --yes
全部採用默認設置
可以更改默認設置屬性:
> npm set init.author.email "[email protected]"
> npm set init.author.name "ag_dubs"
> npm set init.license "MIT"
指定依賴:
- dependencies 生產依賴
- devDependencies 開發測試依賴
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"react-dom": "^16.12.0",
"react": "^16.12.0"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}