无法从dist下载symfony/finder:提取ZIP文件时出错.文件已损坏


Failed to download symfony/finder from dist: There was an error extracting the ZIP file. Corrupt file?

我正试图将Laravel 4.1项目克隆到Vagrant 1.6.3虚拟机上,但当我试图通过运行composer install来安装composer依赖项时,我得到了以下结果:

  - Installing symfony/finder (2.4.x-dev 4a15fc1)
    Downloading: 100%
Failed to download symfony/finder from dist: There was an error extracting the Z
IP file. Corrupt file?
Now trying to download from source
  - Installing symfony/finder (2.4.x-dev 4a15fc1)
    Cloning 4a15fc12b56ca06d3a6bf32ef8f603ccb421d846

  [RuntimeException]
  Failed to execute git checkout "4a15fc12b56ca06d3a6bf32ef8f603ccb421d846" && g
it reset --hard "4a15fc12b56ca06d3a6bf32ef8f603ccb421d846"
  error: The following untracked working tree files would be overwritten by chec
kout:
        .gitignore
        Adapter/AbstractAdapter.php
        Adapter/AbstractFindAdapter.php
        Adapter/AdapterInterface.php
        Adapter/BsdFindAdapter.php
        Adapter/GnuFindAdapter.php
        Adapter/PhpAdapter.php
        CHANGELOG.md
        Comparator/Comparator.php
        Comparator/DateComparator.php
        Comparator/NumberComparator.php
        Exception/AccessDeniedException.php
        Exception/AdapterFailureException.php
        Exception/ExceptionInterface.php
        Exception/OperationNotPermitedException.php
        Exception/ShellCommandFailureException.php
        Expression/Expression.php
        Expression/Glob.php
        Expression/Regex.php
        Expression/ValueInterface.php
        Finder.php
        Glob.php
        Iterator/CustomFilterIterator.php
        Iterator/DateRangeFilterIterator.php
        Iterator/DepthRangeFilterIterator.php
        Iterator/ExcludeDirectoryFilterIterator.php
        Iterator/FilePathsIterator.php
        Iterator/FileTypeFilterIterator.php
        Iterator/FilecontentFilterIterator.php
        Iterator/FilenameFilterIterator.php
        Iterator/FilterIterator.php
        Iterator/MultiplePcreFilterIterator.php
        Iterator/PathFilterIterator.php
        Iterator/RecursiveDirectoryIterator.php
        Iterator/SizeRangeFilterIterator.php
        Iterator/SortableIterator.php
        LICENSE
        README.md
        Shell/Command.php
        Shell/Shell.php
        SplFileInfo.php
        Tests/Comparator/ComparatorTest.php
        Tests/Comparator/DateComparatorTest.php
        Tests/Comparator/NumberComparatorTest.php
        Tests/Expression/ExpressionTest.php
        Tests/Expression/GlobTest.php
        Tests/Expression/RegexTest.php
        Tests/FakeAdapter/DummyAdapter.php
        Tests/FakeAdapter/FailingAdapter.php
        Tests/FakeAdapter/NamedAdapter.php
        Tests/FakeAdapter/UnsupportedAdapter.php
        Tests/FinderTest.php
        Tests/Fixtures/A/B/C/abc.dat
        Tests/Fixtures/A/B/ab.dat
        Tests/Fixtures/A/a.dat
        Tests/Fixtures/copy/A/B/C/abc.dat.copy
        Tests/Fixtures/copy/A/B/ab.dat.copy
        Tests/Fixtures/copy/A/a.dat.copy
        Tests/Fixtures/dolor.txt
        Tests/Fixtures/ipsum.txt
        Tests/Fixtures/lorem.txt
        Tests/Fixtures/one/a
        Tests/Fixtures/one/b/c.neon
        Tests/Fixtures/one/b/d.neon
  Please move or remove them before you can switch branches.
  Aborting

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-p
lugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--ver
bose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

我尝试了一些随机的东西,比如清除我的.gitignore文件和删除vendor/syfony/Finder目录(似乎失败了),但没有成功。是什么原因导致了这种情况,我该如何解决?

这是今天为Windows用户引入的一个bug(在Windows上也是Vagrant)。我报告了它,解决方法是:https://github.com/symfony/symfony/issues/11984.

提交了一个文件一个名为r+的文件夹例如?e*x[c]a(r)s,其中包含许多在NTFS文件系统上无效的字符(特别是*和?)。在它被恢复之前,该包以及任何需要它作为依赖项的包都会被破坏。

合并了一个PR,现在应该进行修复