对npm安装依赖版本选择的质疑

对npm安装依赖版本选择的质疑,npm,npm-install,Npm,Npm Install,我尝试安装firebase-admin@4.0.6使用npm安装firebase-admin@4.0.6,我通过npm ls得到了这个依赖关系树: └─┬ firebase-admin@4.0.6 ├── @types/jsonwebtoken@7.2.0 extraneous ├── faye-websocket@0.9.3 extraneous └── jsonwebtoken@7.1.9 extraneous 但是,我从的package.json中获得的Depdency范围

我尝试安装
firebase-admin@4.0.6
使用
npm安装firebase-admin@4.0.6
,我通过
npm ls
得到了这个依赖关系树:

└─┬ firebase-admin@4.0.6
  ├── @types/jsonwebtoken@7.2.0 extraneous
  ├── faye-websocket@0.9.3 extraneous
  └── jsonwebtoken@7.1.9 extraneous

但是,我从的
package.json
中获得的Depdency范围是:

例如,它有一个满足范围
^7.1.33
的版本列表:

7.1.33: "2016-10-06T16:57:57.575Z",
7.2.0: "2016-12-29T23:56:39.629Z",
7.2.1: "2017-06-05T19:56:31.609Z",
7.2.2: "2017-07-07T20:53:26.913Z",
7.2.3: "2017-08-03T14:00:05.795Z",
7.2.4: "2017-12-07T21:20:47.174Z",
7.2.5: "2017-12-13T19:13:57.718Z",
7.2.6: "2018-03-16T22:11:14.916Z",
7.2.7: "2018-04-30T16:19:55.931Z",
7.2.8: "2018-07-02T20:49:13.504Z",
让我困惑的是,为什么当我尝试安装时,它选择了
7.2.0
,而不是最高的
7.2.8

谢谢你的时间

运行
npm install
并检查所有版本控制警告消息。如果没有为其他软件包安装正确的版本,它将默认为其他版本。我已在docker容器中检查了安装的版本,这是一个全新的容器,因此环境应该是干净的,以前没有安装其他软件包。此外,我已经检查了安装日志,似乎这个包的版本控制没有任何警告。谢谢你的回复!
7.1.33: "2016-10-06T16:57:57.575Z",
7.2.0: "2016-12-29T23:56:39.629Z",
7.2.1: "2017-06-05T19:56:31.609Z",
7.2.2: "2017-07-07T20:53:26.913Z",
7.2.3: "2017-08-03T14:00:05.795Z",
7.2.4: "2017-12-07T21:20:47.174Z",
7.2.5: "2017-12-13T19:13:57.718Z",
7.2.6: "2018-03-16T22:11:14.916Z",
7.2.7: "2018-04-30T16:19:55.931Z",
7.2.8: "2018-07-02T20:49:13.504Z",