我正在尝试扩展现有的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版本错误而无法运行,那么首先安装它的重点是什么?
答案 0 :(得分:1)
如果您要从先前版本的symfony进行更新,则必须更新所有dependeciens。所以看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"