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_modules下dayjs文件。使用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_modules下dayjs文件。使用cnpm不带参数安装的依赖都会被删除,其它依赖进行更新。
4、总结
npm和yarn安装时,都会生成相应的lock文件,修改时仅能修改各自的lock文件。cnpm无lock文件。npm和yarn安装时,不携带参数与携带-S作用相同,依赖会被放到package.json的dependencies下,cnpm不携带参数安装时,package.json文件无改动,仅node_modules下会增加依赖包。- 执行删除命令时,三者均会删除
node_modules下的依赖包,package.json中不存在的依赖包会删除,存在的依赖包则会更新。若删除package.json下不存在的依赖包时,使用yarn会报错。
浙公网安备 33010602011771号