Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js学习之npm 入门 —6.《怎么卸载本地packages》大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

怎么卸载本地packages —— How to Uninstall Local Packages

原文
本章的内容有些过时,本人就说一下最新的npm卸载的特性。

旧的

1. 卸载

命令

npm [un|uninstall] pkg [-S|--save|-D|--save-dev]

例如

npm uninstall lodash

在上面的例子中会从node_modules删除lodash这个package,但是在package.json文件相应的依赖不会删除该信息。
例如此时的package.json里面的相应内容是:

...
"dependencies""{
  "lodash":"4.17.5",}
...

所以需要下一步同步package.json跟node_modules的信息。
具体做法是使用npm uninstall pkg命令时加上后面的flags。如果开发依赖则加上--save-dev,如果是产品应用依赖则加上--save

但是这个会导致一些无关痛痒不完美的问题。比如说有个dependencies的package,你开发完后实际上没有使用到这个package,然后你给卸载了。
同时你们这个项目是多人开发的,旧版的话除非你手动去同步,不然别人的node_modules中仍然保留该package。
那么在最终打包项目时可能造成体积不一样,而且这种不必要的冲突也得需要进行沟通才能解决

因此在Npm后来的卸载机制中会直接同步package.json,把相关package从package.json中的dependencies或者Devdependencies中删除

2. 新版npm卸载机制

在新版的npm uninstall pkg命令中无论加不加--save或者--save-dev flags都会从package.json中删除相应的依赖信息。

方法跟yarn remove是一样的。

如果非要保留的话可以在执行卸载命令时加上--no-save flag。

然而yarn是没有该flag,是无论怎样删除都会同步package.json。

这样做的目的主要是在团队合作开发时避免上述的一点问题。

3.手动修改package.json的依赖。

当手动把Package从package.json中删除后,同步node_modules的方式有两个。

npm prune

方法是修剪node_modules中的那些在package.json中不存在的package。

npm install

该命令是下载package.json中指定的依赖,相当于重置node_modules。也会把Package.json中不存在的package给清除掉。

4.--no-save问题

因为现在的npm在package.json的文件附近伴生一个package-lock.json文件用来记录项目和依赖的信息。
当你结合--no-save和npm prune使用时会收到不是预想的结果。

这时的解决方法是,先执行npm install然后在执行npm prune

5. 注意点

由于很多国内的开发者使用cnpm也有很多团队使用yarn
单独使用这些是没问题的,但是它们是不兼容的,所以混合使用是项目的开发出现问题。
所以尽量单独使用一种工具。
如果出现问题了,最简单最笨的方法是,删除node_modules/,然后npm|cnpm|yarn install来重新下载。

大佬总结

以上是大佬教程为你收集整理的node.js学习之npm 入门 —6.《怎么卸载本地packages》全部内容,希望文章能够帮你解决node.js学习之npm 入门 —6.《怎么卸载本地packages》所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。