Symfony2:--reinstall问题

时间:2012-05-16 15:40:14

标签: php symfony installation bundle vendors

我一直在尝试为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“,找不到”)。我正在为那个做另一个线程,因为它不是同一个问题(link here)。

3 个答案:

答案 0 :(得分:3)

这不是更新供应商的正确方法。每the docs

  

还有一个php bin/vendors update命令,但这没什么   与升级项目有关,通常不需要   用它。此命令用于冻结所有版本   供应商库通过将它们更新为depsdeps.lock中指定的版本   将其记录到php bin/vendors install文件中。

Ergo,你需要做的只是运行rm -rf vendor/*(我知道,这很令人困惑。我部分责怪他们没有命名这个子命令)

修改

要帮助解决当前问题,请尝试以下步骤

  1. rm -rf app/cache/*
  2. rm app/bootstrap.php.cache
  3. php bin/vendors install
  4. {{1}}
  5. 希望它有效

答案 1 :(得分:2)

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

php bin/vendors install

命令

答案 2 :(得分:2)

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

php bin/vendors install --reinstall

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