Vagrant + Composer + Windows / nfs / git 错误

Vagrant + Composer + Windows / nfs / git error

我遇到以下问题:当我在虚拟机中 运行 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 上挂载了文件系统,但这在 'default' vagrant 设置上也不起作用。据我了解,问题是虚拟机没有 full/proper 访问 windows 文件系统。那怎么办?

据我所知,当您在 Windows 上使用 NFS 时,它不会稳定。

首先,看你的错误,我不知道为什么你的 vendor 目录在版本控制下。通常你应该只放入 GIT composer.jsoncomposer.lock 而不是 vendor 目录本身。

但让我们继续讨论主题 - NFS 在 Windows 上不稳定,将它与 Vagrant 一起使用会导致许多难以检测的副作用和错误。例如,当我使用它时,有时当我 运行 例如 composer install 时,一些文件已损坏,当您知道这是 NFS 问题时,很难跟踪问题。

所以我的建议是不要在 Windows 上使用 NFS - 我知道没有 NFS Vagrant 会很慢但是如果你想测试你的应用程序而不是解决所有时间问题的 NFS,你不应使用它或安装 Linux 作为主系统并在 Linux.

中使用 Vagrant