无法在 docker 容器中安装作曲家包

failed to install composer packages in docker container

几天后,我无法再在本地 docker 容器中安装 composer-packages。 我用 composer init 创建新的 composer.json 并尝试用 composer require fzaninotto/faker
添加一个包 我总是收到相同的错误消息

# composer require fzaninotto/faker
Using version ^1.9 for fzaninotto/faker
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
    Failed to download fzaninotto/faker from dist: The zip extension and unzip command are both missing, skipping.
Your command-line PHP is using multiple ini files. Run `php --ini` to show them.
    Now trying to download from source
  - Installing fzaninotto/faker (v1.9.1): Cloning fc10d778e4 from cache
    fc10d778e4b84d5bd315dad194661e091d307c6f is gone (history was rewritten?)

Installation failed, reverting ./composer.json to its original content.


  [RuntimeException]
  Failed to execute git checkout 'fc10d778e4b84d5bd315dad194661e091d307c6f' -- && git reset --hard 'fc10d778e4b84d5bd315dad194661e091d307c6f' --

  fatal: failed to read object fc10d778e4b84d5bd315dad194661e091d307c6f: Operation not permitted


require [--dev] [--prefer-source] [--prefer-dist] [--fixed] [--no-progress] [--no-suggest] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--update-with-all-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--] [<packages>]...

首先我猜是我的 ssh 密钥有问题,但我创建了一个新密钥并将其添加到 github 并出现同样的错误。
然后我用 composer clear 试了一下,问题没有解决。

问题来自 EACH docker 容器和 EACH composer 包...所以我不能成为问题单个包装或容器。

有人知道我可以再次使用作曲家吗?

如果您使用的是 Docker 桌面版 (Windows) 并且更新到最新版本 2.2.0.4,则会遇到此问题。

降级到 2.2.0.3,它应该可以再次工作(至少对我来说是这样)。 参见:https://forums.docker.com/t/issues-after-upgrading-docker-desktop-to-2-2-0-4/90589

要降级:

  • 卸载 Docker 桌面。注意:它会删除你的容器,如果你想将它们导入回来,请先保存它们
  • 转到此页面:https://docs.docker.com/docker-for-windows/release-notes/
  • 点击2.2.0.3下的下载
  • 使用安装程序文件安装 Docker Desktop
  • 启动时会要求升级到2.2.0.4,直接说"Skip this build"

我没有足够的分数来评论最佳答案,但 Docker 问题刚刚关闭 (like an hour ago!),所以只需在 [=13] 上更新 Docker 桌面=] 应该修复它。至少为我工作。现在我可以再次安装 Drupal 了!