我一直在尝试为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)。
答案 0 :(得分:3)
这不是更新供应商的正确方法。每the docs
还有一个
php bin/vendors update
命令,但这没什么 与升级项目有关,通常不需要 用它。此命令用于冻结所有版本 供应商库通过将它们更新为deps
和deps.lock
中指定的版本 将其记录到php bin/vendors install
文件中。
Ergo,你需要做的只是运行rm -rf vendor/*
(我知道,这很令人困惑。我部分责怪他们没有命名这个子命令)
要帮助解决当前问题,请尝试以下步骤
rm -rf app/cache/*
rm app/bootstrap.php.cache
php bin/vendors install
希望它有效
答案 1 :(得分:2)
尝试从“vendor”文件夹中删除所有内容并运行
php bin/vendors install
命令
答案 2 :(得分:2)
在您添加deps文件之前,在任何文本编辑器中复制deps文件的所有内容,然后删除所有deps内容并仅在deps中添加Buzz链接。 然后尝试以下命令
php bin/vendors install --reinstall
这将安全地安装BUZZ捆绑包。安装BUzz包后,您可以粘贴之前复制的所有deps内容。 如果您正在尝试此操作,请确保下载新的symfony项目并尝试此操作。 可能这会对你有所帮助。我之前在我的一个项目上试过它。