Composer Docker изображение не будет работать вообще - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь узнать, как создать Laravel Docker изображение, следуя учебному пособию по DigitalOcean с использованием WSL. Однако, следуя инструкциям на странице Docker Hub , выдается ошибка:

❯ 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 голосов
/ 03 апреля 2020

Оказывается, что основная проблема не имела ничего общего с Docker. Фактически, Composer пытался рассказать мне, в чем заключалась проблема, но я отклонил это как симптом более глубокой проблемы:

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

Это сообщение было сутью всего этого. Я заметил, что упомянутый каталог [...]/helper пуст, поэтому я попытался удалить его вручную с помощью rmdir. Вместо этого я получил сообщение об ошибке No such file or directory. Я пытался во многих других случаях уничтожить этот каталог, весь каталог проекта с rm -rf ~/laravel-app из домашней папки и т. Д. c. Ничего не помогло.

Некоторые копались в inte rnet, предполагая, что это может быть повреждение NTFS, если я столкнулся с этой проблемой на Windows. Так как я действительно пытаюсь сделать это в WSL (подсистема Windows для Linux), я попробовал исправить их: запустить chkdsk /F в CMD / PowerShell. Для выполнения этой задачи была необходима перезагрузка, но после того, как все было восстановлено и снова попробовав эти первые несколько учебных шагов , я смог composer установить зависимости Laravel без помех.

Итог: если вы столкнулись с проблемой такого рода на WSL, попробуйте запустить chkdsk /F и перезагрузиться. Возможно, у вас просто аналогичное повреждение файловой системы.

0 голосов
/ 02 апреля 2020

У нас есть две возможности для этой ошибки:

1 - вы не выполнили команду внутри каталога:

cd ~/laravel-app

2 - я уверен, что есть внутренний прокси, который блокирует загрузку пакетов.

...