php - Bitbucket 不保存供应商文件

标签 php git symfony bitbucket composer-php

我已经在本地主机中克隆了一个在 VPS 中正常工作的存储库。

$ sudo git clone https://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b1dcc2d0ddc2d0c2f1d3d8c5d3c4d2dad4c59fdec3d6" rel="noreferrer noopener nofollow">[email protected]</a>/msalsas/itransformer-2.0.git

但是当我尝试使用以下方法清除缓存时:

$ sudo php app/console cache:clear

我收到此错误:

PHP Warning:  require(/home/manolo/MiServer/itransformer-2.0/vendor/kriswallsmith/assetic/src/functions.php): failed to open stream: No such file or directory in /home/manolo/MiServer/itransformer-2.0/vendor/composer/autoload_real.php on line 42
PHP Fatal error:  require(): Failed opening required '/home/manolo/MiServer/itransformer-2.0/vendor/kriswallsmith/assetic/src/functions.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/manolo/MiServer/itransformer-2.0/vendor/composer/autoload_real.php on line 42

我在 bitbucket.org 上有存储库。 这是我可以在 kriswallsmith 的供应商目录表单 bitbucket 存储库中看到的内容:

assetic → 0e18168c45df [0e18168c45df]

为什么看不到里面的文件和文件夹?它也会发生在所有供应商目录中。我的本地主机中的供应商目录是空的。

我尝试过:

$ sudo php composer.phar self-update
$ sudo php composer.phar update kriswallsmith/assetic

我收到下一个错误:

Loading composer repositories with package information
Updating dependencies (including require-dev)                             
 - Removing twig/twig (v1.13.1)
 - Installing twig/twig (v1.13.2)
Loading from cache

 - Updating kriswallsmith/assetic 1.1.x-dev (0e18168 => 1d671c5)



[RuntimeException]                                                           
The .git directory is missing from /home/manolo/MiServer/itransformer-2.0/v  
endor/kriswallsmith/assetic, see http://getcomposer.org/commit-deps for mor  
e information                                                              



update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

显然,因为vendor/kriswallsmith/assetic内没有文件夹或文件。

如果我输入:

$ sudo php composer.phar install

我明白了:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
- Removing twig/twig (v1.13.2)
- Installing twig/twig (v1.13.1)
Downloading: 100%         

Generating autoload files
PHP Warning:  require(/home/manolo/MiServer/itransformer-2.0/vendor/kriswallsmith/assetic/src/functions.php): failed to open stream: No such file or directory in /home/manolo/MiServer/itransformer-2.0/vendor/composer/autoload_real.php on line 43
PHP Fatal error:  require(): Failed opening required '/home/manolo/MiServer/itransformer-2.0/vendor/kriswallsmith/assetic/src/functions.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/manolo/MiServer/itransformer-2.0/vendor/composer/autoload_real.php on line 43
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap handling the post-install-cmd event terminated with an exception



[RuntimeException]                                     
An error occurred when generating the bootstrap file.  



install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]

最佳答案

错误是提交的供应商目录。特别是如果通过 git 检索供应商,则会执行该供应商的整个 git 克隆。然后,如果您提交更改,除了已从另一个 git 存储库添加的文件之外,所有更改都会被添加。

简单:永远不要将供应商委托(delegate)给 VCS。你有composer并且有一个 promise 的composer.lock,每个人都会得到完全相同的版本。

如果您必须更改捆绑代码,请 fork 它并 load the code from your fork! 。稍后,如果更改总体上影响了 bundle ,请创建对原始包的 pull 请求;)

关于php - Bitbucket 不保存供应商文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683035/

相关文章:

php - Uncaught Error : Call to a member function generate_cart_id() on null

php - 具有多个条件的搜索表单,Symfony2

git - 如何停止在存储库中使用 Git LFS

ios - git rebase 后 Xcode 错误 "file not found"

php - Symfony\组件\表单\异常\InvalidArgumentException : Could not load type "..."

php - Symfony\Bridge\Doctrine\Form\ChoiceList\IdReader::getIdValue():参数 #1 ($object) 必须是 ?object 类型,给定字符串

php - W3Schools 试用编辑器

php - 如何使用 mysql 数据库数据删除 php 数组上的项目

php - 为什么不按照表中的公式计算呢?

Git 子树只有一个文件或目录