4

我刚刚花了两个小时想知道为什么当我对我的项目进行 bin/vendors 更新时一切都崩溃了。我收到以下错误

致命: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

经过一番调查,我发现包的repo位置已更改为 github.com/doctrine/ 。我不得不更改 deps 位置并从 vendor/bundles/Symfony/Bundle/ 中删除捆绑包,但这确实让我感到困惑。

除了奇怪的 git diff 和DoctrineFixturesBundle自述文件中的一小部分之外,我根本找不到任何文档。这不是非 BC 变化吗?这不会影响使用这些存储库的每个人吗?如果是非 BC 更改,为什么没有更多信息。我是唯一受影响的人吗?还是我做错了什么(供应商更新而不是安装)?

我看到在这些项目的主分支中,命名空间也在发生变化。这不是大规模的非 BC 变化吗?我担心这可能会在将来我即将启动一个网站时发生,而我似乎对此无能为力。

4

2 回答 2

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',
于 2012-06-04T11:29:54.493 回答
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

于 2012-06-01T01:59:14.683 回答