我想使用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文档中搜索了答案,但别名仅用于本地存储库。
答案 0 :(得分:1)
即将推出的软件包版本有一个更新的composer.json,通过使用软件包维护者创建的只读镜像修复已删除依赖项的问题。
与此同时,这对使用该软件包的任何人都没有帮助,尤其是在您需要稳定版本的情况下。
软件包维护者应该发布一个point release,只修改依赖项,将最新的稳定版本指向重定位的依赖项。
似乎没有办法解决这种手动安装软件包及其依赖性的问题。
答案 1 :(得分: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
}