2

我想将simplesamlphp包用于我的 SSO 实现。但是,我无法通过 composer 安装包,因为其中一个依赖项不再存在。

"simplesamlphp/simplesamlphp": "dev-master"

运行后输出composer update -o

  Problem 1
    - simplesamlphp/saml2 v0.4.1 requires robrichards/xmlseclibs 1.3.* -> no matching package found.
    - simplesamlphp/saml2 v0.4.0 requires robrichards/xmlseclibs 1.3.* -> no matching package found.
    - simplesamlphp/saml2 v0.3.0 requires robrichards/xmlseclibs 1.3.* -> no matching package found.

我知道 simplesamlphp 有一个包 simplesamlphp/xmlseclibs。有没有办法加载那个包而不是不存在的 robrichards 包?

我在 Composer 文档中搜索了答案,但别名似乎仅用于本地存储库。

4

2 回答 2

1

我管理了一个解决方案。在他们的 github 源代码中,他们将不存在的包定义为存储库。所以我将该存储库添加到我自己的 composer.json 中,现在它终于可以工作了!:D

我的 composer.json 片段供参考:

{
    "require": {
        "simplesamlphp/simplesamlphp": "dev-master"
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "robrichards/xmlseclibs",
                "version": "1.3.1",
                "source": {
                    "type": "svn",
                    "url": "http://xmlseclibs.googlecode.com/svn",
                    "reference": "trunk@50"
                },
                "autoload": {
                    "files": ["xmlseclibs.php"]
                }
            }
        }
    ],
    "minimum-stability": "dev",
    "prefer-stable": true
}
于 2014-05-21T14:44:51.893 回答
1

即将发布的包版本有一个更新的 composer.json,通过使用包维护者创建的只读镜像解决了已删除依赖项的问题。

同时,这对使用该软件包的任何人都没有帮助,尤其是在您需要稳定版本的情况下。

包维护者应该发布一个点发布,只更正依赖项,将他们最新的稳定版本指向重新定位的依赖项。

似乎没有办法绕过手动安装包及其依赖项。

于 2014-05-21T14:15:40.947 回答