【问题标题】:Composer install is not checking composer.json [closed]Composer 安装未检查 composer.json [关闭]
【发布时间】:2021-09-23 18:53:31
【问题描述】:

我的 composer.json 带有 Guzzle 6.5.2 和 Laravel 框架 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"
},

【问题讨论】:

  • 请分享更多细节。如果您明确要安装 v6.5.2,为什么不在 composer.json 中提出 exact 要求?

标签: php laravel composer-php


【解决方案1】:

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

这意味着如果您拥有^6.5.2,它将保留主要版本6,并更新到晚于5.2(次要补丁版本)的最新更新。也就是说,它会更新到最新的兼容版本,目前是6.5.5

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

【讨论】:

    猜你喜欢
    • 2018-03-16
    • 2018-06-06
    • 2021-05-30
    • 2014-07-31
    • 2018-07-09
    • 1970-01-01
    • 2017-07-25
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多