【问题标题】:Can not update google/cloud-firestore [composer]无法更新 google/cloud-firestore [composer]
【发布时间】:2018-08-31 10:07:22
【问题描述】:

现在,我正在使用 google/cloud-firestore ^0.8.1,我想将此库更新到最新版本 (0.14.0)。 我的 composer.json 现在看起来像:

"require": {
"grpc/grpc": "^1.10",
"google/protobuf": "^3.5",
"google/gax": "^0.31.3",
"google/cloud-firestore": "^0.8.1",
"firebase/php-jwt": "^5.0",
}

当我尝试使用 php composer.phar require google/cloud-firestore 更新 Firestore 库时 ,我得到了:

Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for google/cloud-firestore ^0.14.0 -> satisfiable by google/cloud-firestore[v0.14.0].
    - google/cloud-firestore v0.14.0 requires google/gax ^0.37 -> satisfiable by google/gax[0.37.0] but these conflict with your requirements or minimum-stability.


Installation failed, reverting ./composer.json to its original content.

之后,我尝试使用php composer.phar require google/gax 并得到:

Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - google/cloud-firestore v0.8.1 requires google/gax ^0.31.1 -> satisfiable by google/gax[0.31.x-dev].
    - google/cloud-firestore v0.8.1 requires google/gax ^0.31.1 -> satisfiable by google/gax[0.31.x-dev].
    - google/cloud-firestore v0.8.1 requires google/gax ^0.31.1 -> satisfiable by google/gax[0.31.x-dev].
    - Can only install one of: google/gax[0.37.0, 0.31.x-dev].
    - Installation request for google/gax ^0.37 -> satisfiable by google/gax[0.37.0].
    - Installation request for google/cloud-firestore ^0.8.1 -> satisfiable by google/cloud-firestore[v0.8.1].


Installation failed, reverting ./composer.json to its original content.

我在 composer.json 中添加了"minimum-stability": "dev",但这并没有解决问题。 如何正确更新这些库并修复它们之间的依赖关系?

【问题讨论】:

  • 请不要使用图片来显示代码和错误。最好将文本直接复制到您的问题中,以便于阅读和搜索。另外,仅供参考,Firestore 节点 SDK 的最新版本是 0.16.1,而不是 0.14.0。
  • @DougStevenson 感谢您对发布问题的建议。我在packagist.org/packages/google/cloud-firestore 和github.com/GoogleCloudPlatform/google-cloud-php-firestore 看到最新版本的 PHP firestore 是 0.14.0。
  • 对不起,我读得太快了,还以为你在谈论节点而不是 PHP。现在编辑您的问题以显示文本而不是图片还为时不晚。
  • @DougStevenson,已更新,谢谢。

标签: firebase google-cloud-platform google-cloud-firestore composer-php


【解决方案1】:

语义版本控制运算符 (^) 的行为与 1.0 之前的版本略有不同(请参阅 https://getcomposer.org/doc/articles/versions.md#caret-version-range-):

对于 1.0 之前的版本,它还考虑到安全性并将 ^0.3 视为 ?>=0.3.0 <0.4.0。

这意味着您必须像这样更新两个包:

composer require google/cloud-firestore:^0.14 google/gax:^0.37

【讨论】:

  • 感谢@xabbuh 的回答,但建议的解决方案没有帮助。即使我尝试将 google/cloud-firestore 更新到版本 ^0.9.1,我也会得到 google/proto-client 而不是 google/gax 的依赖。当我尝试更新 google/proto-client 时出现错误,我不能这样做,因为 google/cloud-firestore 需要旧版本..
  • 您能否发布您在我的答案中执行命令时收到的完整错误消息?
  • 感谢您的帮助,我刚刚发布了解决方案的答案:)
【解决方案2】:

在@xabbuh 的帮助下,我找到了解决方案。 仅在语义版本控制运算符(^)中没有问题,但在我想更新的包中。 我需要安装/更新在 0.14 版上更新 firestore 所需的所有软件包。我打电话给composer require google/cloud-firestore:^0.14,然后composer require google/gax:^0.37,然后尝试使用相反的顺序,但有类似的错误消息。 当我将所有需要的包都包含在 require 命令中以更新 firestore 包时,它顺利通过了。 所以,这里是工作命令:

composer require google/cloud-firestore:^0.14 google/gax:^0.37 google/auth:^1.3 google/grpc-gcp:^0.1.0 grpc/grpc:^1.13.0 google/cloud-core:^1.23

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 2019-06-08
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 2019-03-26
    • 2021-01-05
    • 2016-10-12
    • 1970-01-01
    相关资源
    最近更新 更多