无法安装插件,显示以下错误...
C:\ devbox> vagrant plugin install' vagrant-hostmanager' 安装插件的目录(Vagrant主目录) 里面有个空间。在Windows上,编译时Ruby中存在一个错误 插入带空格的目录。请将您的Vagrant搬回家 目录到没有空格的路径,然后再试一次。
答案 0 :(得分:17)
Ruby(Vagrant使用的语言)有"问题"目录名称包含空格。
Vagrant将使用一个环境变量(由windows提供)来告诉它你的用户目录在哪里(因此它可以决定把你的" home"目录放在哪里)。 但是你的用户名可能有空格(我这样做)会导致ruby出现问题(正在做安装插件的工作)。
解决方案是将项目移动到您选择的项目目录中,目录名称中没有任何空格。然后,使用名为VAGRANT_HOME
的环境变量并将其设置为指定目录。插件安装过程将检查此变量是否存在,如果存在,则使用它而不是在Windows当前用户目录中找到主目录。
我在home
中创建了一个名为C:\Hashicorp\Vagrant
的文件夹并使用了该文件夹(C:\Hashicorp\Vagrant\home
)。
设置windows环境变量并不难(实际上相当简单) - 你可以在这里找到:http://www.computerhope.com/issues/ch000549.htm
您必须重新启动系统才能使其生效(重启后我的所有工作都有效)。
答案 1 :(得分:15)
我发现@Reinsbrains答案略有不同。为了在其名称中有一个没有空格的主目录。我创建了一个到我的用户/主目录的联结。在我的情况下,我决定采用Linux风格的结构,但任何位置都可以。在管理员命令提示符中:
mkdir c:\home
mklink /j c:\home\maarten "c:\users\Maarten Bicknese"
接下来将VAGRANT_HOME
环境变量设置为新创建的联结。
setx VAGRANT_HOME c:\home\maarten
启动一个新的命令提示符,你很高兴!