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会报错。
posted @ 2022-02-03 17:54  SummerSatr  阅读(3988)  评论(0编辑  收藏  举报