前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >angular编译版本冲突解决办法总结

angular编译版本冲突解决办法总结

作者头像
易兒善
发布2018-08-21 15:28:42
7170
发布2018-08-21 15:28:42
举报
文章被收录于专栏:挖坑填坑挖坑填坑

刚刚涉足angular,对于node,npm,typescript等都不太熟悉。网上下载别人源码一编译,报一堆英文错误,死了的心都有了。先来感受一下吧

image.png

image.png

image.png

image.png

经过两天的踩坑,东看看,西查查。终于算是解决了目前项目的错误。虽然不知道为什么,但是可以肯定的是,大部分是因为下载的依赖版本不对导致的。初步总结了以下解决这类问题的方法。

学好英语

手下不能害怕,更不能放弃。英语不好用百度翻译啊。看清楚问题大致的意思是什么,哪个模块导致的。找到罪魁祸首。 说不好有的多红字里就写的有解决办法呢。

理解package.json文件

首先知道NPM依赖包版本号~和^的区别。

代码语言:javascript
复制
    "lodash": "^4.17.4",
    "marked": "^0.3.6",
    "moment": "~2.18.1",
    "moment-timezone": "^0.5.13",
~会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0
^会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0

往往一个版本从1.2.0到1.3.0变化是比较大的。

代码语言:javascript
复制
我现在所遇到的问题,大部分就是因为^这个导致的。
作者在用的时候,使用npm install -save 命令来安装包的时候,普遍都是^符号,
当我们下载的包的版本已经从1.2.0更新到1.9.8到2.1.0了,
这时候我们使用npm install命令来还原包,
下载的就会是1.9.8版本的包而不是1.2.0版本的。
在我们编译的时候,这就可能会出现错误。

降低版本号

定位出现问题的模块——在package.json文件中找到将^改为~符号——去node_modules下面把该模块的包删掉——重新执行npm install

如果不行,可以试试修改package.json文件后,把node_modules文件夹全部删掉,然后再还原包。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.11.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学好英语
  • 理解package.json文件
  • 降低版本号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档