我在Fedora客户上开始了我的symfony项目并愉快地编码好几次。然后我将我的文件导出到亚马逊EC2 VM,感谢koding.com并在那里编码了一段时间(它非常方便)。我终于希望能够从任何环境进行编码,所以我设置了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 'FOS\UserBundle\FOSUserBundle' not found in /home/eagle1/www/ICORECO/app/AppKernel.php on line 29
所以我尝试评论这些行,但显然我得到的代码扩展了这个类,所以composer install再次生成错误
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
答案 0 :(得分:2)
听起来你的vendor/
目录处于不一致的状态。
一般来说,作曲家recommends not versioning vendor/
。您的composer.json
and composer.lock
files should both be committed和Composer可以从这些文件中构建vendor/
。
我建议删除vendor/
并再次运行composer install
以从头开始重建。假设composer.json
和composer.lock
是正确的,这应该会让您回到工作状态。
然后确保您忽略vendor/
,例如用
vendor/
在您的.gitignore
中,并删除可能意外提交到存储库的所有供应商文件:
git rm --cached -r vendor