Composer 安装未检查 composer.json

Composer install is not checking composer.json

我有 composer.json Guzzle 6.5.2 和 Laravel Framework 6.20.30

但是当我 运行 composer install 或 composer update 时,它​​安装了 Guzzle 6.5.5,为什么?如果我说它是 6.5.2?

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^7.2",
    "ahmedsaoud31/laravel-permission-to-vuejs": "dev-master",
    "barryvdh/laravel-dompdf": "^0.9.0",
    "fideloper/proxy": "^4.0",
    "guzzlehttp/guzzle": "^6.5.2",
    "laravel/framework": "^6.18.35",
    "laravel/passport": "^9",
    "laravel/tinker": "^2.0",
    "phpmailer/phpmailer": "^6.2",
    "sasco/libredte-sdk-php": "^1.1",
    "spatie/flysystem-dropbox": "^1.2",
    "spatie/laravel-backup": "^6.11",
    "srmklive/flysystem-dropbox-v2": "^1.0"
},

当您在您的版本中使用 ^ 时,它会将您更新到所有未来的 minor/patch 版本,而不会增加主要版本。

这意味着如果您有 ^6.5.2,它将保留主要版本 6 并更新到晚于 5.2 的最新更新(minor.patch 版本)。这就是说,它更新到当前的最新兼容版本 6.5.5

如果你想要精确 6.5.2 然后从开头删除插入符号 (^)(通常不建议这样做,因为你不会得到以后的补丁和更新)。