依赖地狱:安装Sonata用户

时间:2015-11-18 06:02:13

标签: php json symfony sonata

G'所有的一切,我恐怕还有另一个新手试图把所有的东西粘在一起。至少可以说,这是相当令人沮丧的:(

我搜索了这些论坛,看到了无数可能的解决方案,但到目前为止还没有任何解决方案。大多数也都很老了,版本已经开始了。

我们走了:

https://sonata-project.org/bundles/user/2-2/doc/reference/installation.html

当我尝试这样做时:composer require sonata-project/easy-extends-bundle

我明白了:

  

使用版本^ 2.1 for sonata-project / easy-extends-bundle   ./composer.json已更新使用加载composer存储库   包信息更新依赖项(包括require-dev)您的   要求无法解析为可安装的软件包。

     

问题1        - 找不到请求的包sonata-project / admin-bundle == 2.3.7.0。问题2        - 只能安装以下之一:sonata-project / block-bundle [2.3.8,2.2.13]。        - 只能安装以下之一:sonata-project / block-bundle [2.3.8,2.2.13]。        - 只能安装以下之一:sonata-project / block-bundle [2.3.8,2.2.13]。        - sonata-project / admin-bundle dev-master需要sonata-project / block-bundle ^ 2.3.8 - >可满足的   奏项目/块束[2.3.8]。        - sonata-project / admin-bundle dev-master的安装请求 - >可以通过sonata-project / admin-bundle [dev-master]来满足。        - sonata-project / block-bundle的安装请求== 2.2.13.0 - >可以通过sonata-project / block-bundle [2.2.13]来满足。

     

可能的原因: - 包名中的拼写错误 - The   根据您的要求,包装不具备足够稳定的版本   最小稳定性设置

     

安装失败,将./composer.json恢复为原始版本   内容。

我只是按照说明操作,简单明了!我阅读了这些文章,并在此处尝试了一些解决方案,并通过Google搜索。

对于它的价值,我是一个老Unix黑客,我不记得开源构建这么难......

任何线索?非常感谢提前!

P.S。我正在使用Debian虚拟盒,因为我认为它比在Windows 8 PC上尝试更容易。

以下是composer.json中唯一更改的部分:

"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.7.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~4.0",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "~2.0@dev",
    "sonata-project/admin-bundle": "2.3.*",
    "sonata-project/doctrine-orm-admin-bundle": "^2.3",
    "sonata-project/easy-extends-bundle": "^2.1",
    "sonata-project/user-bundle": "^2.2",
    "sonata-project/easy-extends-bundle": "dev-master"
},

1 个答案:

答案 0 :(得分:2)

1。清空vendor文件夹:删除其中的所有内容,但不要删除自己。也许破坏的下载依赖性会导致问题。

2。用此require替换composer.json的{​​{1}}部分:

"require": {
    "php": ">=5.3.9",
    "symfony/symfony": "2.7.*",
    "doctrine/orm": "~2.2,>=2.2.3,<2.5",
    "doctrine/dbal": "<2.5",
    "doctrine/doctrine-bundle": "~1.4",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~4.0",
    "sensio/framework-extra-bundle": "~3.0,>=3.0.2",
    "incenteev/composer-parameter-handler": "~2.0",
    "friendsofsymfony/user-bundle": "~1.3",
    "sonata-project/admin-bundle": "2.3.*",
    "sonata-project/doctrine-orm-admin-bundle": "^2.3",
    "sonata-project/easy-extends-bundle": "^2.1",
    "sonata-project/user-bundle": "^2.2"
},

请注意"friendsofsymfony/user-bundle"版本的差异。

现在应该可以了!如果它仍然导致您的问题,请告诉我。