我有以下问题:当我在虚拟机中运行 composer update
时,我收到了错误消息:
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing friendsofsymfony/user-bundle (dev-master f54031a)
Failed to download friendsofsymfony/user-bundle from source: Could
not delete
/var/www/agroit/vendor/friendsofsymfony/user-bundle/.git/objects/pack/tmp_pack_0neozU:
[RuntimeException]
Could not delete
/var/www/agroit/vendor/friendsofsymfony/user-bundle/.git/objects/pack/tmp_pack_0neozU:
当然,当我在我的计算机上(而不是在虚拟机中)执行此操作时,一切正常。
我在 nfs 上挂载了文件系统,但这在“默认”vagrant 设置上也不起作用。据我了解,问题是虚拟机没有对 Windows 文件系统的完整/正确访问权限。那怎么办呢?
最佳答案
据我所知,当您在 Windows 上使用 NFS 时,它并不稳定。
首先,查看您的错误,我不知道为什么您的 vendor
目录处于版本控制之下。通常你应该只放入 GIT composer.json
和 composer.lock
而不是 vendor
目录本身。
但让我们继续讨论主题 - NFS 在 Windows 上不稳定,将它与 Vagrant 一起使用会导致许多难以检测的副作用和错误。例如,当我使用它时,有时当我运行 composer install
时,一些文件已损坏,当您知道这是 NFS 问题时,很难跟踪问题。
所以我的建议是不要在 Windows 上使用 NFS - 我知道没有 NFS Vagrant 会很慢但是如果你想测试你的应用程序而不是解决 NFS 的所有时间问题,你不应该使用它或安装它Linux 作为主系统,在 Linux 中使用 Vagrant。
关于linux - Vagrant + Composer + Windows/nfs/git 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28813555/