阅读(3144) (9)

Laravel 8 配置共享文件夹

2021-06-22 14:03:05 更新

Homestead.yaml 文件中的 folders 属性列出了所有你想要与 Homestead 环境共享的文件夹。这些文件夹中的文件发生变化的时候,它们将会在您的本地机器与 Homestead 环境之间保持同步。您可按需配置多个共享文件夹:

folders:
    - map: ~/code/project1
      to: /home/vagrant/project1

注意:Windows 不要使用 ~/ 路径语法,而应该使用项目的完整路径,如 C:\Users\user\Code\project1.

您应该始终将各个项目映射到它们自己的文件夹映射,而不是映射整个 ~/code 文件夹。映射文件夹时,虚拟机保持跟踪文件夹中 每一个 文件的所有磁盘 IO。当文件夹中有大量文件时,此举可能影响性能。

folders:
    - map: ~/code/project1
      to: /home/vagrant/project1

    - map: ~/code/project2
      to: /home/vagrant/project2 

注意:你不应该在使用 Homestead 的时候挂载 . (当前目录)。此举会导致 Vagrant 不会将当前文件夹映射到 /vagrant,并且在配置的时候可能会导致意外情况发生。

要启用 NFS ,您只需要在共享文件夹配置中添加一个简单的标识:

folders:
    - map: ~/code/project1
      to: /home/vagrant/project1
      type: "nfs"

注意:在 Windows 上使用 NFS 时,你应该考虑安装 vagrant-winnfsd 插件。它将会为您正确处理 Homestead box 中的文件和目录的用户和用户组权限问题。

您也可以在 options 中列出任何受 Vagrant 同步文件夹 支持的选项:

folders:
    - map: ~/code/project1
      to: /home/vagrant/project1
      type: "rsync"
      options:
          rsync__args: ["--verbose", "--archive", "--delete", "-zz"]
          rsync__exclude: ["node_modules"]