我正在尝试通过使用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>]...
如何诊断我做错了什么?
答案 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-我确定有一个内部代理阻止了软件包的下载。