我在一位Fedora来宾上开始了我的symfony项目,并愉快地编码了好几次。然后,由于koding.com,我将我的文件导出到了amazonEC2虚拟机,并在那里编码了一段时间(这很方便)。我终于希望能够从任何环境中进行编码,所以我设置了git并将所有文件都放在那里。
昨天,我从github将我的存储库克隆到我的Fedora来宾中,并试图启动它。它不适用于一些没有安装库的供应商。
我已经阅读了文档,这将是正常的,在克隆存储库后,必须进行php composer.phar安装。
我试过了,但收到了一条错误消息,因为供应商库在我的AppKernel 中声明
php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
Updating the "app/config/parameters.yml" file
PHP Fatal error: Class 'FOSUserBundleFOSUserBundle' not found in /home/eagle1/www/ICORECO/app/AppKernel.php on line 29
所以我试着注释这些行,但很明显我得到了扩展这些类的代码,所以composer安装再次生成错误
php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
Updating the "app/config/parameters.yml" file [LogicException]
Bundle "NRtworksSubscriptionBundle" extends bundle "FOSUserBundle", which is not registered.
我能做什么?
这是我的.gitignore
# Cache and logs (Symfony2)
/app/cache/*
/app/logs/*
!app/cache/.gitkeep
!app/logs/.gitkeep
# Cache and logs (Symfony3)
/var/cache/*
/var/logs/*
!var/cache/.gitkeep
!var/logs/.gitkeep
# Parameters
/app/config/parameters.yml
/app/config/parameters.ini
# Managed by Composer
/app/bootstrap.php.cache
/var/bootstrap.php.cache
/bin/*
!bin/console
!bin/symfony_requirements
/vendor/
# Assets and user uploads
/web/bundles/
/web/uploads/
# PHPUnit
/app/phpunit.xml
/phpunit.xml
# Build data
/build/
# Composer PHAR
听起来vendor/
目录的状态不一致。
通常,Composer建议不要对vendor/
进行版本控制。您的composer.json
和composer.lock
文件都应该提交,Composer可以从这些文件构建vendor/
。
我建议删除vendor/
并再次运行composer install
以从头开始重建它。假设composer.json
和composer.lock
是正确的,这将使您回到工作状态。
然后确保忽略vendor/
,例如使用等行
vendor/
在您的.gitignore
中,并删除任何可能意外提交到存储库的供应商文件:
git rm --cached -r vendor