无法在docker容器中安装composer包



几天以来,我再也无法在本地docker容器中安装composer包了。我用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尝试,但问题没有解决。

问题出现在EACHdocker容器和EACHcomposer包中。。。所以我不会对单个包裹或容器有问题。

有人知道我可以再次使用composer吗?

如果您使用的是Docker Desktop(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 Desktop。注意:它会删除你的容器,如果你想把它们导入回来,请先保存
  • 转到此页面:https://docs.docker.com/docker-for-windows/release-notes/
  • 点击2.2.0.3下的下载
  • 使用安装程序文件安装Docker Desktop
  • 启动时,它会要求升级到2.2.0.4,只需说"跳过此版本">

我没有足够的分数来评论最重要的答案,但Docker问题刚刚解决(就像一个小时前!(,所以只要在Windows上更新Docker Desktop就可以解决它。至少对我有用。现在我可以再次安装Drupal了!

最新更新