Composer Docker映像根本无法运行

时间:2020-04-02 19:20:25

标签: docker composer-php

我正在尝试通过使用WSL遵循a tutorial on DigitalOcean来学习如何创建Laravel Docker映像。但是,按照the Docker Hub page上的说明会产生错误:

❯ docker run --rm --interactive --tty -v $(pwd):/app composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 94 installs, 0 updates, 0 removals
  - Installing voku/portable-ascii (1.4.10):     Failed to download voku/portable-ascii from dist: Could not delete /app/vendor/voku/portable-ascii/src/voku/helper:
    Now trying to download from source
  - Installing voku/portable-ascii (1.4.10):

  [RuntimeException]
  Could not delete /app/vendor/voku/portable-ascii/src/voku/helper:


install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...

如何诊断我做错了什么?

2 个答案:

答案 0 :(得分:0)

事实证明,根本问题与Docker完全无关。实际上,Composer试图告诉我一直存在的问题,但我认为这只是一个更深层次问题的征兆:

  [RuntimeException]
  Could not delete /app/vendor/voku/portable-ascii/src/voku/helper:

此消息是所有问题的症结所在。我注意到提到的目录[...]/helper是空的,因此我尝试用rmdir手动将其删除。相反,我收到了No such file or directory错误消息。我尝试过许多其他方法是杀死此目录,使用home文件夹中的rm -rf ~/laravel-app杀死整个项目目录,等等。

一些在互联网上闲逛的人建议,如果我在Windows上遇到此问题,则可能是NTFS损坏。因为确实在WSL(Linux的Windows子系统)上尝试此操作,所以我给了他们建议的修复程序:在CMD / PowerShell中运行chkdsk /F。重新启动是完成此任务所必需的,但是在恢复所有内容并再次尝试first few tutorial steps之后,我能够让作曲家轻松安装Laravel依赖项。

底线:如果您在WSL上遇到此类问题,请尝试运行chkdsk /F并重新启动。您可能只是有类似的文件系统损坏。

答案 1 :(得分:-1)

对于此错误,我们有两种可能性:

1-您未在目录内执行命令:

cd ~/laravel-app

2-我确定有一个内部代理阻止了软件包的下载。