Npm不安装包

时间:2017-06-08 15:54:46

标签: npm npm-install

我的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,我的构建将被破坏并在特定安装后得到修复。

1 个答案:

答案 0 :(得分:1)

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

当您运行特定的软件包安装命令时,您严格指定特定版本(不含^),这意味着它将获取该软件包版本完全