npm 模块 移除_【已解决】npm卸载模块后该模块并没有从package.json中去掉[通俗易懂]

折腾:期间,遇到一个奇怪的现象:用npmremovexxx或npmuninstallxxx后xxx并没有从package.json中去掉:➜HeadquarterReportgit:(permission-control)✗npmremoveelement-ui–async-validator@1.6.9node_modules/async-validator–babe…

大家好,又见面了,我是你们的朋友全栈君。

折腾:

期间,遇到一个奇怪的现象:

用npm remove xxx或npm uninstall xxx后

xxx并没有从package.json中去掉:➜  HeadquarterReport git:(permission-control) ✗ npm remove element-ui

– async-validator@1.6.9 node_modules/async-validator

– babel-helper-vue-jsx-merge-props@2.0.2 node_modules/babel-helper-vue-jsx-merge-props

– deepmerge@1.5.2 node_modules/deepmerge

– throttle-debounce@1.0.1 node_modules/throttle-debounce

– element-ui@1.4.3 node_modules/element-ui

npm WARN vue-admin-template@1.0.0 No repository field.

结果发现:

package.json

中的配置:

“element-ui”: “1.4.3”,

并没有主动删除掉:

7d7e5c8322449e9d3a786dcd19520cac.png

所以再去安装新的:➜  HeadquarterReport git:(permission-control) ✗ npm install element-ui

vue-admin-template@1.0.0 /Users/crifan/dev/dev_root/xxx

└─┬ element-ui@1.4.3

├── async-validator@1.6.9

├── babel-helper-vue-jsx-merge-props@2.0.2

├── deepmerge@1.5.2

└── throttle-debounce@1.0.1

npm WARN vue-admin-template@1.0.0 No repository field.

结果还是1.4.3

after npm uninstall package.json not update

好像要加上:-S, –save参数才能更新package.json?

-》之前也没有加参数,为何可以更新?

再去试了试:➜  HeadquarterReport git:(permission-control) ✗ npm uninstall element-ui -S

npm WARN vue-admin-template@1.0.0 No repository field.

果然还真的更新了package.json,去掉了element-ui了。

【总结】

npm uninstall/remove xxx

并不能自动更新package.json,把xxx从

dependencies

devDependencies

optionalDependencies

中去掉。

只有加上对应参数才可以:-S, –save:dependencies

-D, –save-dev:devDependencies

-O, –save-optional:optionalDependencies

比如:

npm uninstall element-ui -S

就可以在卸载element-ui的同时,把其从dependencies中删除掉了。

【后记】

后来通过npm install时,结果发现也没有更新package.json:➜  HeadquarterReport git:(permission-control) ✗ npm install element-ui

vue-admin-template@1.0.0 /Users/crifan/dev/xxxx

└─┬ element-ui@2.0.1

├── async-validator@1.8.1

├── babel-helper-vue-jsx-merge-props@2.0.2

├── deepmerge@1.5.2

└── throttle-debounce@1.0.1

npm WARN element-ui@2.0.1 requires a peer of vue@^2.5.2 but none was installed.

npm WARN vue-admin-template@1.0.0 No repository field.

没有把element-ui加进去。

after npm install package.json not update

好像也必须是加上参数,才可以?

那就再去试试:➜  HeadquarterReport git:(permission-control) ✗ npm install element-ui –save

vue-admin-template@1.0.0 /Users/crifan/dev/xxx

└── element-ui@2.0.1

npm WARN element-ui@2.0.1 requires a peer of vue@^2.5.2 but none was installed.

npm WARN vue-admin-template@1.0.0 No repository field.

果然package.json被更新了,dependencies加上了:

“element-ui”: “^2.0.1”,

【总结2】

看来是:

npm install/uninstall xxx是,只是安装/卸载对应模块

只有加上:

–save

–save-dev

等参数,才能把对应模块版本要求,加入到/删除掉 package.json中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127685.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MyEclipse10.6 安装SVN插件方法及插件下载地址

    MyEclipse10.6 安装SVN插件方法及插件下载地址方法一:在线安装1.打开HELP->MyEclipseConfigurationCenter。切换到SoftWare标签页。 2.点击AddSite打开对话框,在对话框Name输入Svn,URL中输入:http://subclipse.tigris.org/update_1.6.x3.在左边栏中找到PersonalSite中找到SVN展开。将Core

    2022年7月20日
  • resnet34\resnet101网络结构图「建议收藏」

    resnet34\resnet101网络结构图「建议收藏」注释:7x7conv,3->64,/2表示7×7大小的卷积核,3、64表示输入输出通道,/2表示输出为原来的1/2。x2表示类似的结构还有两个。

    2022年10月6日
  • java学习——使用Eclipse进行单元测试,报错Can’t allocate jvmti memory

    工具环境:Windows+Eclipse+Jdk1.7 项目框架: Spring+SpringMVC + Hibernate在使用Eclipse进行单元测试的时候运行后,没有成功!并且控制台输出报错Can’t allocate jvmti memory 具体报错信息如下:FATAL ERROR in native method: JDWP Can’t allocate jvmti memory

    2022年2月25日
  • Layui 弹出层插件

    Layui 弹出层插件Layui弹出层插件开发工具与关键技术:VisualStudio2015–Layui作者:廖亚星撰写时间:2019年6月4日这段时间在做项目页面的搭建,在页面的操作中,会出现很多的弹出层,这能使用户在一个页面中执行更多的操作,而我的项目里面用的弹出层是Layui里面的弹出层插件。Layui的弹出层插件可以作为独立组件使用,也可以Layui模块化使用基本参数:type—…

    2022年6月13日
  • Redis在windows下安装过程

    Redis在windows下安装过程

    2021年10月10日
  • Redis删除策略和淘汰策略[通俗易懂]

    Redis删除策略和淘汰策略[通俗易懂]来的问题,Redis引入了定期删除策略(是他们的一个比较折中的方案)周期性轮询Redis库中的时效性数据,采取随机抽取的策略,利用过期数据占比的方式控制删除频度。实际上,在前面所说的删除策略,它针对的是expire命令进行的操作,也就是说那些具有时效性的数据(已经过期,并且还在占用内存的数据),我们在这里说的是针对那些并没有过期,或者是内存中的数据没有一个带有有效期,全是永久性数据,这时候删除策略就不起作用了,所以这个时候内存满了我们再去插入数据到内存是怎么做?删除这批key中已过期的。……

    2022年8月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号