nvm (Node Version Manage)
- https://github.com/coreybutler/nvm-windows
- 常用命令:
- nvm version
- nvm install latest
- nvm install 版本號
- nvm uninstall 版本號
- nvm list
- nvm use 版本號
nrm
nrm 是一個(gè)管理 npm 源的工具。用來切換官方 npm 源和國內(nèi)的 npm 源(如: cnpm)鸣个,當(dāng)然也可以用來切換官方 npm 源和公司私有 npm 源
全局安裝
npm i nrm -g
查看當(dāng)前 nrm 內(nèi)置的幾個(gè) npm 源的地址:
nrm ls
切換到 cnpm:
nrm use cnpm
添加新源:
nrm add [名字] [源地址]
刪除源:
nrm del [名字]
npm
npm i express --save
/npm i express -S
(安裝 express羞反,同時(shí)將 express 寫入依賴)npm i express --save-dev
/npm i express -D
(安裝express布朦,同時(shí)將 express 寫入devDependencies)npm i express --save --save-exact
(安裝express,同時(shí)將 express 寫入依賴 鎖定版本)
建議線上的Node.js應(yīng)用都采取這種鎖定版本號的方式
npm config set save-exact true
每次這樣 npm i xxx --save
的時(shí)候會(huì)鎖定依賴的版本號昼窗,加相當(dāng)于了 --save-exact
參數(shù)是趴。
小提示:
npm config set
命令將配置寫到了?/ .npmrc文件,運(yùn)行npm config list
查看澄惊。
- 其他常用的一些命令
npm config get registry // 查看npm當(dāng)前鏡像源
npm config set registry https://registry.npm.taobao.org/ // 設(shè)置npm鏡像源為淘寶鏡像
yarn config get registry // 查看yarn當(dāng)前鏡像源
yarn config set registry https://registry.npm.taobao.org/ // 設(shè)置yarn鏡像源為淘寶鏡像
- | npm | yarn |
---|---|---|
初始化 會(huì)自動(dòng)生成一個(gè)package.json文件 | npm init | yarn init |
添加模塊 | npm install 包名 | yarn add 包名 |
刪除模塊 | npm uninstall 包名 | yarn remove 包名 |
更新模塊 | npm update 包名 | |
查看node.js全局包的安裝路徑 | npm root -g | |
查看當(dāng)前項(xiàng)目npm包的安裝路徑 | npm root | |
查看全局安裝的包列表 | npm list -g --depth 0 depth 0 是限制目錄層級
|
|
清空緩存 | npm cache clean | |
查看安裝的模塊及依賴 | npm ls / list | |
cli commands | https://docs.npmjs.com/cli-documentation/ | https://yarnpkg.com/zh-Hans/docs/cli/ |
Mac npm 全局安裝目錄 /usr/local/lib/node_modules
npm nvm 一直提示 沒權(quán)限
// liuxinya是用戶名
sudo chown -R liuxinya ~/.npm
sudo chown -R liuxinya ~/.nvm
npx
npx 想要解決的主要問題唆途,就是方便調(diào)用項(xiàng)目內(nèi)部安裝的模塊。比如掸驱,項(xiàng)目內(nèi)部安裝了測試工具 Mocha
常規(guī)執(zhí)行
# 項(xiàng)目的根目錄下執(zhí)行
$ node-modules/.bin/mocha --version
npx
npx mocha --version
原理:
- npx 運(yùn)行的時(shí)候肛搬,會(huì)到node_modules/ .bin路徑和環(huán)境變量$PATH里面,檢查命令是否存在毕贼。
- 由于 npx 會(huì)檢查環(huán)境變量$PATH温赔,所以系統(tǒng)命令也可以調(diào)用。
- 注意鬼癣,Bash 內(nèi)置的命令不在$PATH里面陶贼,所以不能用。比如待秃,cd是 Bash 命令拜秧,因此就不能用npx cd
# 等同于 ls
$ npx ls
這里多記錄一個(gè)東西 node_modules/ .bin文件
npm run命令會(huì)自動(dòng)在環(huán)境變量$PATH添加node_modules/.bin目錄,所以scripts字段里面調(diào)用命令時(shí)不用加上路徑章郁,這就避免了全局安裝NPM模塊枉氮。
npm run如果不加任何參數(shù),直接運(yùn)行暖庄,會(huì)列出package.json里面所有可以執(zhí)行的腳本命令聊替。
npm run會(huì)創(chuàng)建一個(gè)Shell,執(zhí)行指定的命令雄驹,并臨時(shí)將node_modules/.bin加入PATH變量,這意味著本地模塊可以直接運(yùn)行淹辞。