package.json中版本号前^和~符号以及空的含义

1.  ~ + 版本号:例如 "tslint": "~5.11.0", 表示安装5.11.x的最新版本(不低于5.11.0), 但是不安装5.12.x,也就是说安装时不会改变大版本号和次要版本号;

        如图,npm install ts-node@7.0.0后,package.json文件中自动生成"ts-node": "~7.0.0"信息。

 2.  ^ + 版本号:例如 "tslint": "5.11.0", 表示安装5.11.0及以上的版本,但是不安装6.0.0, 也就是说安装时不会改变大版本号;

        如图,npm install xlsx@0.18.2后,package.json文件中自动生成"xlsx": "^0.18.2"信息。

3.  + 版本号:例如:"tslint": "5.11.0",表示安装5.11.0的指定版本。

        如图,npm install 后,项目将会安装指定版本依赖。

 注:即使安装包的时候安装的为指定版本,package,json中的版本号也有可能自动加上‘~’与‘^’,这极有可能会导致其他开发人员拉取代码并install时装成其他版本的依赖,导致未知的问题,这里需要格外注意!!!

本人亲身经历,由于node发展较快,许多小版本也是不兼容的,当尝试查看其他老项目时,在安装依赖时,有时候直接npm install后并不会成功启动项目,这时候,你可以尝试将package.json中的版本号前面所携带的‘~’、‘^’全部删除后重新安装依赖,这样可能会成功。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李飞要当大神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值