【问题标题】:Vagrant + Composer + Windows / nfs / git errorVagrant + Composer + Windows / nfs / git 错误
【发布时间】:2015-05-03 00:38:58
【问题描述】:

我有以下问题:当我在虚拟机中运行 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 上挂载文件系统,但这不适用于“默认”流浪设置。据我了解,问题是虚拟机没有对 Windows 文件系统的完全/正确访问权限。那么该怎么办呢?

【问题讨论】:

    标签: linux windows vagrant composer-php nfs


    【解决方案1】:

    据我所知,当您在 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 并仅将其用于作曲家。我以这种方式工作了一段时间和其他我没有注意到的问题
    猜你喜欢
    • 2013-12-08
    • 1970-01-01
    • 2013-10-08
    • 2019-11-19
    • 2015-10-17
    • 2014-01-10
    • 2016-04-25
    • 2014-11-30
    • 1970-01-01
    相关资源
    最近更新 更多