根据Vagrant的文档,主题WSL and Vagrant是高级的。
您需要在Linux上安装Vagrant,因为:
Vagrant Windows提供的vagrant.exe可执行文件 可从WSL内部访问安装,它将无法运行 如预期的那样。
但是我不想主要在Linux上运行Vagrant。我想使用Windows 10主机上安装的Virtual Box。但是我不想离开Linux,只是为了开始Vagrant。
是否可以从WSL中远程控制Vagrant?
根据Vagrant的文档,主题WSL and Vagrant是高级的。
您需要在Linux上安装Vagrant,因为:
Vagrant Windows提供的vagrant.exe可执行文件 可从WSL内部访问安装,它将无法运行 如预期的那样。
但是我不想主要在Linux上运行Vagrant。我想使用Windows 10主机上安装的Virtual Box。但是我不想离开Linux,只是为了开始Vagrant。
是否可以从WSL中远程控制Vagrant?
的确,$ vagrant.exe
会导致意外的行为,因为Vagrant(安装在Windows上)无法处理Unix样式的路径。
但实际可行的方法:
$ cmd.exe
C:\> vagrant up
C:\> exit
幸运的是,cmd.exe有选项,使我们可以通过cmd.exe调用Vagrant:
$ cmd.exe /c vagrant up
这将启动Windows的命令行,执行命令,然后返回bash。
将它添加到〜/ .bashrc 文件中时,更酷:
alias cmd='cmd.exe'
alias vagrant='cmd /c vagrant'
您可以在WSL bash中使用本机无业游民的命令(在Windows中执行):
$ vagrant up
对我来说,这就像魅力。
注意:我已将硬盘驱动器的根装载路径从/mnt/c
更改为/c
。输入cmd.exe
后,我将进入同一目录。 Windows会转换路径。但是Windows无法处理例如~
。然后,Windows将以C:\ Windows \ System32