Vagrant + Composer + Windows / nfs / git 错误

3

我有一个问题:当我在虚拟机内运行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文件系统的权限。那该怎么办呢?

1个回答

0
据我所知,在Windows上使用NFS时,它不会很稳定。
首先,看看你的错误,我不知道为什么你将vendor目录放在版本控制下。通常,你应该只在GIT中放置composer.jsoncomposer.lock,而不是vendor目录本身。
但让我们继续主题——NFS在Windows上不稳定,与Vagrant一起使用会导致许多副作用和难以检测的错误。例如,当我使用它时,有时运行composer install时会出现一些文件损坏,当你知道这是NFS问题时,真的很难跟踪问题。
因此,我的建议是不要在Windows上使用NFS——我知道如果没有NFS,Vagrant会很慢,但是如果你想测试你的应用程序而不是一直解决NFS问题,你就不应该使用它,或者安装Linux作为主系统并在Linux中使用Vagrant。

  1. 我在 Git 上没有供应商,那是旧版本的更新;)
  2. 是的,我放弃了这个错误。虽然我必须使用 NFS 和 Windows,因为这是我工作的环境。所以我的解决方法是在 Windows 上安装本地 PHP,并仅用于 composer。我已经这样工作了一段时间,其他问题我还没有注意到。
- Tomek Kobyliński

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接