将其他软件包纳入Laravel的正确方法是什么?

时间:2014-08-17 05:02:19

标签: composer-php packagist

我正在尝试集成此软件包: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 部分。然后弹出另一个缺少的依赖项,所以我添加了一个。这个循环持续了一段时间。 isn的包装应该自动处理依赖关系吗?我是打包者的新手,但我还没有遇到需要打包的其他Laravel教程的问题。将这个Cerbero软件包包含在我的应用程序中的正确方法是什么?任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

Composer确实会为您处理依赖关系,在您当前的设置中,它会尝试解析程序包cerbero/oauth所需的所有依赖项,google/apiclient就是其中之一。但是依赖项尝试解析为非稳定包,并且在某个地方的composer.json文件中,它必须已声明

"minimum-stability": "stable"

解决方案非常清楚,根据您看到的错误消息,只需将minimum-stability设置为dev而不是stable