npm install
與npm i
區(qū)別如下(windows下):
1.
npm i
安裝的模塊及依賴,使用npm uninstall
是沒有辦法刪除的,必須使用npm uninstall i
才可以刪除
2.npm i
會(huì)幫助檢測與當(dāng)前node
最匹配的npm
的版本號涮较,并匹配出相互依賴的npm
包應(yīng)該升級的版本號
3.npm i
安裝的一些包,在當(dāng)前的node
版本下是沒有辦法使用的落午,必須使用建議版本
4.npm i
安裝出現(xiàn)問題是不會(huì)出現(xiàn)npm-debug.log
文件的店茶,但npm install
安裝出現(xiàn)問題是有這個(gè)文件的
npm i XXX_name -S
= >npm install XXX_name --save
寫入到dependencies
對象
npm i XXX_name -D
=>npm install XXX_name --save-dev
寫入到devDependencies
對象
npm i XXX_name -g
全局安裝
i
是install
的簡寫
-S
就是--save
的簡寫
-D
就是--save-dev
這樣安裝的包的名稱及版本號就會(huì)存在package.json
的devDependencies
這個(gè)里面,而--save
會(huì)將包的名稱及版本號放在dependencies里面姨伤。我們在使用
npm install
安裝模塊或插件的時(shí)候哨坪,有兩種命令把他們寫入到package.json
文件里面去,比如:
--save
--save-dev
在package.json
文件里面提現(xiàn)出來的區(qū)別:
--save
安裝的插件乍楚,被寫入到dependencies
對象里面去当编。--save-dev
安裝的插件,被寫入到devDependencies
對象里面去徒溪。
package.json
文件里面的devDependencies
和dependencies
對象有什么區(qū)別呢忿偷?
devDependencies
里面的插件只用于開發(fā)環(huán)境,不用于生產(chǎn)環(huán)境臊泌。dependencies
是需要發(fā)布到生產(chǎn)環(huán)境的鲤桥。
$ npm 和yarn的區(qū)別是什么呢?渠概?
1茶凳、并行安裝:yarn安裝包會(huì)同時(shí)執(zhí)行多個(gè)任務(wù),npm 需等待上一個(gè)任務(wù)安裝完成才能運(yùn)行下一個(gè)任務(wù)
2高氮、離線模式:如果你已經(jīng)安裝過一個(gè)包慧妄,用 yarn 再次安裝會(huì)從緩存中獲取,而 npm 會(huì)從網(wǎng)絡(luò)下載
3剪芍、版本鎖定:yarn 默認(rèn)有一個(gè) yarn.lock 文件鎖定版本塞淹,保證環(huán)境統(tǒng)一,而 npm 默認(rèn)從網(wǎng)絡(luò)下載最新的最穩(wěn)定的罪裹,版本鎖定可以解決包之間版本不兼容問題饱普,npm 也可以通過命令實(shí)現(xiàn)版本鎖定
4运挫、更簡潔的輸出:yarn 安裝包時(shí)輸出的信息較少,npm 輸出信息冗余
命令對比:
說明 | Yarn | NPM/CNPM |
---|---|---|
初始化某個(gè)項(xiàng)目 | yarn init | npm init |
默認(rèn)安裝依賴包 | yarn install/link | npm install/link |
安裝某個(gè)依賴并默認(rèn)保存到package | yarn add taco | npm install taco --save |
移除某個(gè)依賴 | yarn remove taco | npm uninstall taco --save |
安裝某個(gè)開發(fā)時(shí)的依賴 | yarn add taco -dev | npm install taco --save -dev |
更新某個(gè)依賴項(xiàng)目 | yarn upgrade taco | npm update taco --save |
安裝某個(gè)全局依賴項(xiàng)目 | yarn global add taco | npm install taco --global |
發(fā)布/登錄/退出套耕,一系列NPM 操作 | yarn publish/login/logout | npm publish/login/logout |
運(yùn)行某個(gè)命令 | yarn run/test | npm run/test |