我正在使用 vagrant 运行 lucid32 安装。我已经安装了 LAMP 并且可以正常工作。为了在 lucid32 安装内的主机上安装 Windows 共享,我需要做什么?
我尝试向 vagrant 文件添加 Windows 路径,但得到:
C:/Users/myuser/Sites/Vagrantfile:37: 无效的 Unicode 转义 config.vm.share_folder "vagwin","/windows","c:\users\lukem\Sites"
我正在使用 vagrant 运行 lucid32 安装。我已经安装了 LAMP 并且可以正常工作。为了在 lucid32 安装内的主机上安装 Windows 共享,我需要做什么?
我尝试向 vagrant 文件添加 Windows 路径,但得到:
C:/Users/myuser/Sites/Vagrantfile:37: 无效的 Unicode 转义 config.vm.share_folder "vagwin","/windows","c:\users\lukem\Sites"
你需要双重转义斜线,至少我必须在 Windows 7 上,即每个 \ 应该是 \\
您还可以使用正斜杠来避免转义反斜杠。
config.vm.synced_folder "c:/Users/david", "/home/david"
会将您的 Windows 主目录映射到 VM 上的主目录(假设您的名字是 david)。
这确实是一个 ruby 问题,因为您的 Vagrantfile 实际上是 ruby。双引号字符串在 ruby 中插入,在某些情况下反斜杠是元字符。改变你的
"c:\users\lukem\Sites"
到
'c:\users\lukem\Sites'
如果你在 irb(ruby repl)中尝试这样的事情,它看起来像这样:
> x = "c:\users\lukem\Sites"
=> "c:\users\lukemSites"
> x = 'c:\users\lukem\Sites'
=> "c:\\users\\lukem\\Sites"
至少,这是它在我的 mac 上的 irb 中的工作方式。我没有一个 windows 盒子来测试它。
半有趣的侧边栏...如果您切换到 vagrant 2 并使用 synched_folder,则主机到访客的顺序是相反的:
http://docs.vagrantup.com/v2/synced-folders/basic_usage.html
http://docs-v1.vagrantup.com/v1/docs/config/vm/share_folder.html
你需要像这样逃跑C:\\users\\lukem\\Sites
如果您使用双引号,则需要此语法来转义它
"C:\\users\\lukem\\Sites"
或者
"C:/users/lukem/Sites"
如果您使用单引号,则不需要转义它。
vagrant reload
更新Vagrantfile后记得运行