克隆的 Symfony 项目 git 供应商未安装

Symfony project cloned with git vendors not installed

我在 Fedora 客户机上开始了我的 symfony 项目,并愉快地编码了几次。然后,由于 koding.com,我将我的文件导出到 amazon EC2 VM 并在那里编码了一段时间(这很方便)。我最终希望能够在任何环境中进行编码,所以我设置了 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.  

我能做什么?

这是我的。git忽略

# 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 recommends not versioning vendor/. Your composer.json and composer.lock files should both be committed,并且 Composer 可以从这些文件构建 vendor/

我建议再次删除 vendor/ 和 运行 composer install 以从头开始重建它。假设 composer.jsoncomposer.lock 是正确的,这应该让你回到工作状态。

然后确保您忽略 vendor/,例如用一行

vendor/

在您的 .gitignore 中,并删除可能意外提交到存储库的所有供应商文件:

git rm --cached -r vendor