【问题标题】:What is the proper way to incorporate additional packages into Laravel?将其他软件包合并到 Laravel 中的正确方法是什么?
【发布时间】:2014-10-10 08:54:07
【问题描述】:

我正在尝试集成这个包:https://bitbucket.org/cerbero/oauth/wiki/Home 在 Packagist 上也看到过她:https://packagist.org/packages/cerbero/oauth

BitBucket 的文档说:

Installation

Be sure minimum-stability is set to dev in your composer.json, then run:

composer require cerbero/oauth:2.1.0

所以我在 Laravel 之后包含这样的包:

"require": {
    "laravel/framework": "4.2.*",
    "cerbero/oauth": "dev-master"
},

然后我运行 composer 命令并得到这个错误:

Your requirements could not be resolved to an installable set of packages.

      Problem 1
        - Installation request for cerbero/oauth 2.1.0 -> satisfiable by cerbero/oauth[2.1.0].
        - cerbero/oauth 2.1.0 requires google/apiclient 1.0.3-beta -> no matching package found.

    Potential causes:
     - A typo in the package name
     - The package is not available in a stable-enough version according to your minimum-stability setting
       see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.

它声明它还需要 google/apiclient。所以我去 packagist 获取信息并将其粘贴到 composer.json 的 require 部分。然后弹出另一个缺少的依赖项,所以我添加了那个。循环持续一段时间。 packagegist 不应该自动处理依赖关系吗?我是 packagegists 的新手,但在阅读其他需要包的 Laravel 教程时我没有遇到任何问题。将此 Cerbero 包包含到我的应用程序中的正确方法是什么?任何建议将不胜感激。

【问题讨论】:

    标签: composer-php packagist


    【解决方案1】:

    Composer 确实会为您处理依赖项,在您当前的设置中,它会尝试解决您的包所需的所有依赖项 cerbero/oauthgoogle/apiclient 是其中之一。但是依赖项试图解析为不稳定的包,并且在您的 composer.json 文件中某处,它必须声明

    "minimum-stability": "stable"

    那么解决方法就很清楚了,根据你看到的错误信息,只需将minimum-stability 设置为dev 而不是stable

    【讨论】:

      猜你喜欢
      • 2018-08-15
      • 1970-01-01
      • 2011-08-29
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多