Plugins 无法在windows 8.1中的vagrant中安装插件hostmanager

Plugins 无法在windows 8.1中的vagrant中安装插件hostmanager,plugins,vagrant,Plugins,Vagrant,无法安装其插件,显示以下错误 C:\devbox>vagrant插件安装“vagrant主机管理器” 安装插件的目录(Vagrant主目录) 里面有一个空间。在Windows上,Ruby在编译时有一个bug 将插件插入到带有空格的目录中。请把你的流浪汉搬回家 请将目录复制到没有空格的路径,然后重试。Ruby(Vagrant使用的语言)对包含空格的目录名有“问题” Vagrant将使用一个环境变量(由windows提供)告诉它您的用户目录在哪里(这样它就可以决定将您的“主”目录放在哪里)。但是您的

无法安装其插件,显示以下错误

C:\devbox>vagrant插件安装“vagrant主机管理器” 安装插件的目录(Vagrant主目录) 里面有一个空间。在Windows上,Ruby在编译时有一个bug 将插件插入到带有空格的目录中。请把你的流浪汉搬回家 请将目录复制到没有空格的路径,然后重试。

Ruby(Vagrant使用的语言)对包含空格的目录名有“问题”

Vagrant将使用一个环境变量(由windows提供)告诉它您的用户目录在哪里(这样它就可以决定将您的“主”目录放在哪里)。但是您的用户名中可能有一个空格(我有),这会给ruby带来问题(ruby正在安装插件)

解决方案是将项目移动到您选择的项目目录中,该目录名中没有任何空格。然后,使用名为
VAGRANT\u HOME
的环境变量,并将其设置为指定目录。插件安装过程将检查此变量是否存在,如果存在,则使用它,而不是在windows当前用户目录中查找主目录

我在
C:\Hashicorp\Vagrant
中创建了一个名为
home
的文件夹,并使用了它(
C:\Hashicorp\Vagrant\home

设置windows环境变量并不难(实际上相当简单)-您可以在此处了解如何:


您必须重新启动系统才能使其生效(对我来说,重新启动后一切正常)。

我发现@Reinsbrains的答案略有不同。以使主目录的名称中没有空格。我创建了一个到我的用户/主目录的连接。在我的例子中,我决定使用Linux风格的结构,但任何位置都可以。在管理命令提示符中:

mkdir c:\home
mklink /j c:\home\maarten "c:\users\Maarten Bicknese"
接下来将
VAGRANT\u HOME
环境变量设置为新创建的连接

setx VAGRANT_HOME c:\home\maarten

启动一个新的命令提示符,您就可以开始了

嗨,你解决问题了吗?我希望你不是第一个,也不会是最后一个遇到这个小问题的人。让我们结束这个问题,继续(你可以接受我的答案)对我也有好处。谢谢但是你不必重新启动系统,只需打开一个新的命令提示符。Whups,你完全正确@WorkingMatt。根据标准是使用小写的
j
。我更新了答案,我更喜欢这个。