【问题标题】:Can't edit/delete file shared with Vagrant on Windows 10 (VitualBox issue)无法在 Windows 10 上编辑/删除与 Vagrant 共享的文件(VitualBox 问题)
【发布时间】:2017-07-23 07:19:18
【问题描述】:

有人遇到无法删除/编辑位于 Vagrant 共享文件夹中的文件的问题吗?

我正在运行最新的 VirtualBox (5.1.14)、Vagrant (1.9.2)。 在 Vagrant 下,我正在运行 v0rtex/xenial64 (ubuntu xenial 16.04) 一旦我将 React 项目与 gulp 捆绑在一起(它创建 app.xxx.js 和 app.xxx.js.map 文件),就会出现问题。 当我尝试删除旧文件时​​,我收到一条文件正忙/锁定的消息。 无论我尝试从 Windows 10 机器还是从 Vagrant ubuntu 中删除都没有关系。 唯一有帮助的是关闭流浪机器(流浪停止)。

【问题讨论】:

    标签: vagrant locking virtualbox vagrant-windows


    【解决方案1】:

    您可以运行lsof 以了解哪个进程保存您的文件

    sudo lsof /vagrant/app.xxx.js.map
    

    它会告诉你哪个进程正在使用该文件(可能是 gulp 或其他),如果你杀死了你将能够删除文件的进程

    【讨论】:

    • 谢谢,它有帮助。保存该文件的进程是 nginx。奇怪的是,一旦我访问包含该文件的页面,由于未知原因,nginx 会锁定该文件。
    【解决方案2】:

    感谢 Frederic,我发现 nginx 出于未知原因锁定了文件。 使用浏览器(任何浏览器)访问页面时出现问题。

    解决方案是在 nginx 配置中的静态文件位置中包含“map”扩展名,如下所示:

    location ~* ^.+.(jpg|jpeg|gif|bmp|png|ico|swf|mp3|css|js|woff|ttf|eot|svg|map)$ {
            access_log off;
            expires max;
            add_header Pragma public;
            add_header Cache-Control "max-age=31536000, public";
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 1970-01-01
      • 2014-07-06
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多