0

我正在尝试扩展现有的 Symfony 应用程序,但 composer.json 没有任何意义。

"symfony/symfony": "2.1.*"

导致错误,因为 2.1.* 不是可解析的版本号,这表明程序员没有费心更新文件或使用它。

然后我尝试将其更改为:

"symfony/symfony": "2.1.12"

然后它失败了,因为:

mopa/bootstrap-bundle dev-master requires symfony/symfony ~2.3-dev 
jms/di-extra-bundle 1.1.0-RC requires symfony/framework-bundle 2.1.* 

这表明我可以安装 bootstrap 或 jms,因为一个需要 symfony 2.1,另一个需要 2.3,但在 composer.phar 我看到:

    "jms/di-extra-bundle": "1.1.*",
    "mopa/bootstrap-bundle": "dev-master",

在生产服务器中,我看到供应商有一个 jsm 和 mopa 子目录,在 vendor/symfony/symfony 下,我能找到的最高变更日志是 CHANGELOG-2.1.md 表明使用了某些版本的 Symfony 2.1(只有 ftp 访问权限所以可以'不要运行命令来检查版本)。

我想知道如何才能安装它,因为它每次在 Symfony 版本上都没有得到解决。

另一件事是;我应该解决这个问题吗?如果这些软件包中的一个因为 Symfony 版本错误而无法运行,那么首先安装它有什么意义呢?

4

1 回答 1

1

如果你是从以前版本的 symfony 更新,你必须更新所有依赖项。所以看https://github.com/symfony/symfony-standard/blob/v2.1.11/composer.json你必须设置:

    "php": ">=5.3.3",
    "symfony/symfony": "2.1.*",
    "doctrine/orm": ">=2.2.3,<2.5-dev",
    "doctrine/doctrine-bundle": "1.1.*",
    "twig/extensions": "1.0.*@dev",
    "symfony/assetic-bundle": "2.1.*",
    "symfony/swiftmailer-bundle": "2.1.*",
    "symfony/monolog-bundle": "2.1.*",
    "sensio/distribution-bundle": "2.1.*",
    "sensio/framework-extra-bundle": "2.1.*",
    "sensio/generator-bundle": "2.1.*",
    "jms/security-extra-bundle": "1.2.*",
    "jms/di-extra-bundle": "1.1.*",
    "kriswallsmith/assetic": "1.1.*@dev"

并在 packagist ( https://packagist.org/packages/mopa/bootstrap-bundle )上寻找 MopaBootstrapBundle支持 Symfony 2.1 的最后一个版本是:

"mopa/bootstrap-bundle": "2.2.*@dev"

于 2013-09-23T11:05:41.780 回答