npm 不安装包

Npm does not install packages

我的 npm 有奇怪的行为

这是我的一小部分package.json

  "devDependencies": {
    ....
    "css-loader": "^0.23.1",
    "del": "^2.2.1",
    "gulp-autoprefixer": "^3.1.0",
    "gulp-clean-css": "^2.0.10",
    "gulp-concat": "^2.6.0",
    "gulp-rename": "^1.2.2",
    "gulp-replace": "^0.5.4",
     ....
   }

当我 运行 npm i 一切都已安装。

紧接着我点击 npm i gulp-clean-css@2.0.10
安装了相同的包,但奇怪的是,当我希望收到所有内容都是最新的时,我安装了更多的包。

知道为什么 npm 会这样吗?

没有特定的 npm i gulp-clean-css@2.0.10 我的构建被破坏并在特定安装后得到修复。

那是因为您在 package.json 中使用 ^ 字符指定软件包版本,这仅限制主要版本号(x.x.x 中的第一个数字)。参见 https://github.com/npm/node-semver#caret-ranges-123-025-004

当您使用 运行 特定的软件包安装命令时,您严格指定了特定的版本(没有 ^),这意味着它将 准确地 获取该软件包版本。