linux - Vagrant + Composer + Windows/nfs/git 错误

标签 linux windows vagrant composer-php nfs

我有以下问题:当我在虚拟机中运行 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.jsoncomposer.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/

相关文章:

linux - ext4 分区是否包含有关其自身开始和结束位置的数据?

windows - Unity独立构建未运行

java - 无法安装 openjdk-7-jre-headless 包

linux - 如何确定 shell 脚本(test.sh)的执行时间、CPU 和内存利用率?

linux - rpmbuild 无法更改为目录

c++ - 返回 (\r) 中断 cout

mysql - 如何连接到使用 puphet 配置创建的 MySql 数据库服务器?

vagrant - 使用 Vagrant Docker 提供程序从 boot2docker 转发端口

linux - 如何从 bash 脚本启动需要单独终端的 2 个程序?

windows - git commit 以 emacs 作为 Windows 下的编辑器