cnpm,npm,yarn安裝及刪除包的區別


1、cnpm

以安裝dayjs為例

cnpm i dayjs

命令運行完成之后package.json文件無變化,不生成package-lock.json文件,node_modules下新增dayjs文件。

cnpm uninstall dayjs

命令運行完成之后若原本package.json文件中有dayjs依賴則會被刪除掉,無則沒變化,生成package-lock.json文件,node_modules下刪除dayjs文件。package.json中不存在的依賴會被刪除,存在的依賴會執行更新。

cnpm i dayjs -S

命令運行完成之后package.json文件的dependencies下新增dayjs依賴,不生成package-lock.json文件,node_modules下新增dayjs文件。

cnpm i dayjs -D

命令運行完成之后package.json文件的devDependencies下新增dayjs依賴,不生成package-lock.json文件,node_modules下新增dayjs文件。

2、npm

npm i dayjs

命令運行完成之后package.json文件的dependencies下新增dayjs依賴,生成package-lock.json文件,node_modules下新增dayjs文件。

npm i dayjs -S

與上述命令作用相同

npm i dayjs -D

命令運行完成之后package.json文件的devdependencies下新增dayjs依賴,生成package-lock.json文件,node_modules下新增dayjs文件。

npm uninstall dayjs

命令運行完成之后刪除package.json文件的dependencies或者devdependencies下的dayjs依賴,去掉package-lock.json文件中的dayjs,刪除node_modulesdayjs文件。使用cnpm不帶參數安裝的依賴都會被刪除,其它依賴進行更新。

3、yarn

yarn add dayjs

命令運行完成之后package.json文件的dependencies下新增dayjs依賴,生成yarn.lock文件,node_modules下新增dayjs文件。

yarn add dayjs -D

命令運行完成之后package.json文件的devdependencies下新增dayjs依賴,生成yarn.lock文件,node_modules下新增dayjs文件。

yarn remove dayjs

命令運行完成之后刪除package.json文件的dependencies或者devdependencies下的dayjs依賴,若文件中無此依賴,則會報錯,去掉yarn.lock文件中的dayjs,刪除node_modulesdayjs文件。使用cnpm不帶參數安裝的依賴都會被刪除,其它依賴進行更新。

4、總結

  • npmyarn安裝時,都會生成相應的lock文件,修改時僅能修改各自的lock文件。cnpmlock文件。
  • npmyarn安裝時,不攜帶參數與攜帶-S作用相同,依賴會被放到package.jsondependencies下,cnpm不攜帶參數安裝時,package.json文件無改動,僅node_modules下會增加依賴包。
  • 執行刪除命令時,三者均會刪除node_modules下的依賴包,package.json中不存在的依賴包會刪除,存在的依賴包則會更新。若刪除package.json下不存在的依賴包時,使用yarn會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM