【发布时间】:2015-04-11 15:03:45
【问题描述】:
我在一个 Fedora 客户机上开始了我的 symfony 项目,并愉快地编写了几次代码。然后,感谢 koding.com,我将文件导出到亚马逊 EC2 虚拟机并在那里编码了一段时间(很方便)。我终于希望能够在任何环境中编码,所以我设置了 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
【问题讨论】:
-
你有你的
composer.lock文件吗?你有没有尝试过做composer update? -
是的,我有一个 composer.lock 和 composer update 只是做同样的结果
-
你确定你在 composer.json 中注册了 FOSUserBundle 吗?也许
cache:clear会有所帮助 -
我删除了这一行并做了 "php composer.phar require friendsofsymfony/user-bundle "~2.0@dev"" 它给了我与我的问题完全相同的错误
-
@Eagle1,一般来说,
vendor/应该不被版本化。尝试删除目录,然后运行composer install。如果这能解决问题,我会为你写一个正确的答案。
标签: git symfony composer-php