VBox共享文件夹中的符号链接的Windows问题

时间:2018-04-26 06:24:43

标签: windows reactjs ubuntu npm symlink

我在Virtual Box上有一个Ubuntu 17 VM,我的主机操作系统是Windows 8.1。我在主机和来宾OS之间创建了一个共享文件夹。

现在,因为Windows不支持symlinks,这使我无法将任何符号链接放在共享文件夹中。不幸的是,我需要在共享文件夹中放置一个react项目,该项目在子文件夹中包含符号链接。我该如何解决这个问题?我可以把符号链接告诉窗口以某种方式忽略它们或阻止ubuntu共享它们吗?

1 个答案:

答案 0 :(得分:8)

实际上,Windows文件系统支持符号链接但有2个限制:

  1. 默认情况下已禁用。
  2. 仅在您具有管理权限时才可用
  3. 我在Windows 7和Windows 10上使用Vagrant。

    首先,您必须在VM中启用符号链接功能,如下所示:

    VBoxManage setextradata MACHINE_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
    

    其中MACHINE_NAME是虚拟机客户机名称,SHARE_NAME是机箱配置中的共享名称。如果您使用Vagrant,可以将其添加到Vagrantfile

    config.vm.provider :virtualbox do |vm|
        vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME", "1"]
    end
    

    接下来,您需要在Windows主机中启用符号链接:

    1. 打开Start > Administrative tools > Local security policies
    2. 在树状视图中转到Local rules/Assign user rights
    3. 将您所属的用户名或用户组添加到条目Create symbolic links
    4. 重新启动。
    5. Windows中的名称可能有所不同,因为我是在运行时从我的母语系统中翻译它。