尝试使用Composer安装Symfony Application时的权限问题

sja*_*agr 6 php windows symfony composer-php

除非您已阅读我的故障排除步骤列表,否则请不要评论您的建议.我正在更新此列表,因为建议进来了.

在我的同事的Windows 7环境中,当我尝试安装我们在Symfony 2.5.*上构建的一个应用程序时,我们遇到以下问题unlink:

Composer安装错误

我们尝试过以下方法:

  • 运行 composer self-update
  • 运行composer update而不是composer install(导致下面相同的错误)
  • 在管理员模式下运行git bash
  • 运行composer install由管理员DOS外壳,而不是混帐的bash
  • 在多个位置克隆我们的存储库,包括直接在用户桌面上
  • 更改文件的权限以对当前用户提供完全控制和所有权(递归)
  • 更改文件的权限以对"Everybody"(递归)提供完全控制和所有权
  • 更改文件的权限以完全控制和拥有"SYSTEM"(递归)
  • 使用composer create-project symfony/framework-standard-edition test/ "2.5.*"和从头开始一个新项目composer create-project symfony/framework-standard-edition path/ "2.3.*"(如果问题是版本特定的)
  • 尝试使用不同的Windows 7计算机(结果相同)
  • 删除供应商文件夹并清除composer缓存
  • 关闭索引器(Windows搜索系统)

关于发生了什么的任何想法?这是作曲家的错误,还是使用Windows的乐趣之一?以上所有内容在我的OSX机器上运行良好.

另一个调试说明...当我尝试手动取消链接时php -r "unlink('...');",删除有问题的文件没有问题

sja*_*agr 2

我已经找到问题了 一个名为“Trend Micro”的全办公室防病毒程序正在对任何新创建的文件进行“实时扫描”。由于防病毒程序在 Composer 尝试访问该文件的同时访问unlink该文件,因此 Composer 将失败。将存储库添加到防病毒白名单(以及 Windows 索引器以确保安全)完全解决了该问题。

在 GitHub 中创建了一个问题供作曲家团队处理,以便可以以某种方式处理此异常(例如,sleep失败时的函数unlink

感谢大家的故障排除帮助。

编辑:截至本次编辑,已编写了修复程序,因此,如果您遇到此问题,只需运行composer self-update以确保 Composer 具有针对此问题的最新修复程序。