【问题标题】:Permissions issue when trying to install Symfony Application with Composer尝试使用 Composer 安装 Symfony 应用程序时出现权限问题
【发布时间】:2014-08-11 11:21:48
【问题描述】:

除非您已阅读我的故障排除步骤列表,否则请不要评论您的建议。收到建议后,我会更新此列表。

在我同事的 Windows 7 环境中,当尝试安装我们基于 Symfony 2.5.* 构建的应用程序之一时,unlink 出现以下问题:

我们尝试了以下方法:

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

对正在发生的事情有任何想法吗?这是作曲家的错误,还是使用 Windows 的乐趣之一?上面的一切都在我的 OSX 机器上运行良好。

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

【问题讨论】:

  • 运行 sudo composer self-update
  • 尝试删除整个供应商目录并使用管理员模式再次运行它?
  • @johnSmith Windows 中没有 sudo。我已经以管理员身份运行自我更新
  • @Chausser 已经尝试过了 - 仍然无法正常工作。也曾多次从新克隆开始(回购不存储供应商文件夹)
  • 那么也许您没有其他机会,只能通过右键单击设置安全所有权为每个步骤设置正确的权限(可能很多)获取所有权并授予所有权限

标签: php windows symfony composer-php


【解决方案1】:

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

have created an issue in GitHub for the composer team to work on 以便可以以某种方式处理此异常(例如,sleep 函数在 unlink 失败时)

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多