12

我正在使用 vagrant 运行 lucid32 安装。我已经安装了 LAMP 并且可以正常工作。为了在 lucid32 安装内的主机上安装 Windows 共享,我需要做什么?

我尝试向 vagrant 文件添加 Windows 路径,但得到:

C:/Users/myuser/Sites/Vagrantfile:37: 无效的 Unicode 转义 config.vm.share_folder "vagwin","/windows","c:\users\lukem\Sites"

4

5 回答 5

16

你需要双重转义斜线,至少我必须在 Windows 7 上,即每个 \ 应该是 \\

于 2012-09-10T07:15:19.537 回答
13

您还可以使用正斜杠来避免转义反斜杠。

 config.vm.synced_folder "c:/Users/david", "/home/david"

会将您的 Windows 主目录映射到 VM 上的主目录(假设您的名字是 david)。

于 2014-05-02T01:41:30.923 回答
2

这确实是一个 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

于 2013-06-01T18:58:53.230 回答
1

你需要像这样逃跑C:\\users\\lukem\\Sites

于 2012-07-10T16:15:45.627 回答
1

如果您使用双引号,则需要此语法来转义它

"C:\\users\\lukem\\Sites"

或者

"C:/users/lukem/Sites"

如果您使用单引号,则不需要转义它。

vagrant reload更新Vagrantfile后记得运行

于 2017-06-20T09:06:27.030 回答