我只花了最后2个小时,想知道为什么在我的项目上进行bin / vendor更新时一切都破了。我收到了以下错误
致命:未找到github.com/symfony/DoctrineMigrationsBundle.git/info/refs:您是否在服务器上运行了git update-server-info?
致命:未找到github.com/symfony/DoctrineMongoDBBundle.git/info/refs:您是否在服务器上运行了git update-server-info?
致命:未找到github.com/symfony/DoctrineFixturesBundle.git/info/refs:您是否在服务器上运行了git update-server-info?
我没有用我的代词改变任何东西
[DoctrineMigrationsBundle]
git=http://github.com/symfony/DoctrineMigrationsBundle.git
target=/bundles/Symfony/Bundle/DoctrineMigrationsBundle
[doctrine-migrations]
git=http://github.com/doctrine/migrations.git
[doctrine-fixtures]
git=http://github.com/doctrine/data-fixtures.git
[DoctrineFixturesBundle]
git=http://github.com/symfony/DoctrineFixturesBundle.git
target=/bundles/Symfony/Bundle/DoctrineFixturesBundle
[doctrine-mongodb]
git=http://github.com/doctrine/mongodb.git
[doctrine-mongodb-odm]
git=http://github.com/doctrine/mongodb-odm.git
[DoctrineMongoDBBundle]
git=http://github.com/symfony/DoctrineMongoDBBundle.git
target=/bundles/Symfony/Bundle/DoctrineMongoDBBundle
version=v2.0.0
经过一番调查后,我发现捆绑包的回购地点已更改为github.com/doctrine/。我不得不更改deps位置并从vendor / bundles / Symfony / Bundle /中删除捆绑包但确实让我感到困惑。
除了奇怪的git diff以及DoctrineFixturesBundle自述文件中的一小部分内容之外,我根本找不到任何关于此的文档。这不是非BC变化吗?这不会影响使用这些回购的每个人吗?如果它是非BC变化,为什么没有更多关于它的信息。我是唯一受影响的人吗?或者我做错了什么(供应商更新而不是安装)?
我看到在这些项目的主分支中,命名空间也在变化。这不是一次大规模的非BC改变吗?我担心将来可能会发生这种情况,当我即将推出一个网站时,似乎我无能为力。
答案 0 :(得分:3)
对于我们(使用Symfony 2.0.4),只需更改deps中的git-url并将其设置为跟踪分支2.0即可。如果选择此方法,则不得(!)将AppKernel.php中的路径调整为Doctrine命名空间。我们的朋友现在看起来像这样:
[DoctrineFixturesBundle]
git=https://github.com/doctrine/DoctrineFixturesBundle.git
target=/bundles/Symfony/Bundle/DoctrineFixturesBundle
version=origin/2.0
[DoctrineMigrationsBundle]
git=https://github.com/doctrine/DoctrineMigrationsBundle.git
target=/bundles/Symfony/Bundle/DoctrineMigrationsBundle
version=origin/2.0
AppKernel.php看起来仍然相同:
new Symfony\Bundle\DoctrineFixturesBundle\DoctrineFixturesBundle(),
new Symfony\Bundle\DoctrineMigrationsBundle\DoctrineMigrationsBundle(),
另外,请确保您仍然在autoload.php中注册了DoctrineBundles:
'Symfony\\Bundle\\DoctrineFixturesBundle' => __DIR__.'/../vendor/bundles',
'Symfony\\Bundle\\DoctrineMigrationsBundle' => __DIR__.'/../vendor/bundles',
答案 1 :(得分:2)
这种情况发生在不久前:http://symfony.com/blog/symfony-2-1-the-doctrine-bundle-has-moved-to-the-doctrine-organization
他们为没有更新的人保留了旧的回购。我不会说它真的是一个BC断点,因为它不是代码被更改,只是提供包的位置。
也许只是访问/订阅symfony博客和任何相关的Twitter帐户。他们今天早些时候提到了这个删除:https://twitter.com/jmikola/status/207852349782368256