4

我一直在尝试为 Symfony2 安装 Buzz。我将它添加到 deps 文件中,并尝试更新我的供应商:

php bin/vendors update

该命令只是告诉我我已经安装了标准版本,并且我应该尝试使用:

php bin/vendors install --reinstall

反而。我做到了。

但是随后弹出一个错误并告诉我:

Updating deps.lock
sh:/var/www/Symfony/vendor/bundles/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php: not found
PHP Fatal error:  Class 'Doctrine\Common\Annotations\AnnotationRegistry' not found in /var/www/Symfony/app/autoload.php on line 37
PHP Fatal error:  Class 'Doctrine\Common\Annotations\AnnotationRegistry' not found in /var/www/Symfony/app/autoload.php on line 37

然后什么都没有了,这并不奇怪,因为我的供应商文件夹几乎是空的。

有没有人遇到过这个问题?关于如何修复它的任何线索?

编辑 :

我发现了这个错误的根源。我没有安装 git,所以我做了:

sudo apt-get install git-core

检查此链接以获取更多信息:http ://comments.gmane.org/gmane.comp.php.symfony.symfony2/8239

但是我现在遇到了另一个错误(“寻找命名空间“buzz.client.curl”,没有找到“)。我正在为那个创建另一个线程,因为它不是同一个问题(链接在这里)。

4

3 回答 3

3

这不是更新供应商的正确方法。根据文档

还有一个php bin/vendors update命令,但这与升级您的项目无关,您通常不需要使用它。此命令用于冻结所有供应商库的版本,方法是将它们更新到指定的版本deps并将其记录到deps.lock文件中。

因此,您需要做的就是运行php bin/vendors install(我知道,这很令人困惑。我部分归咎于他们对子命令的命名不当)

编辑

为了帮助解决您当前的问题,请尝试以下步骤

  1. rm -rf vendor/*
  2. rm -rf app/cache/*
  3. rm app/bootstrap.php.cache
  4. php bin/vendors install

希望它有效

于 2012-05-16T16:17:42.507 回答
2

尝试从“供应商”文件夹中删除所有内容并运行

php bin/vendors install

命令

于 2012-05-16T15:43:24.377 回答
2

在添加 deps 文件之前,在任何文本编辑器中复制 deps 文件的所有内容,然后删除所有 deps 内容并仅在 deps 中添加 Buzz 链接。然后尝试以下命令

php bin/vendors install --reinstall

这将安全地安装 BUZZ 包。安装 BUzz 包后,您可以粘贴之前复制的所有 deps 内容。如果你正在尝试这个,请确保下载新的 symfony 项目并尝试这个。可能这会对你有所帮助。我早些时候在我的一个项目中尝试过。

于 2012-05-16T17:40:29.447 回答