纱线命令行输出与package.json文件不匹配

时间:2018-05-20 21:16:04

标签: npm socket.io yarnpkg

按照usage docs运行纱线升级后,我得到了这个输出:

enter image description here

似乎我已更新为

socket.io@2.1.1

然而,当我查看我的package.json文件时,我有这一行

"socket.io": "^2.0.4",

有没有办法验证我安装了哪个版本,还有办法解决这种看似不一致的问题吗?

此外,yarn.lock文件中有一条奇怪的行:

socket.io@^2.0.4:
  version "2.1.1"

我怎么能理解这里发生的事情,因为这三个来源似乎说不同的东西。

1 个答案:

答案 0 :(得分:0)

运行yarn list --pattern socket.io以验证当前安装的版本。

"socket.io": "^2.0.4" 在package.json中表示版本2.0.4或2.x.x范围内的任何更新版本。

socket.io@^2.0.4:  version "2.1.1" 在yarn.lock中意味着安装版本2.1.1满足^ 2.0.4(比2.0.4更新,同时在2.x.x范围内)。

请参阅What's the difference between tilde(~) and caret(^) in package.json?