当我运行vagrant up
时,我得到以下错误:
Vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/plugins/hosts/suse/host.rb:20:in `initialize': Cannot translate name. @ rb_sysopen - /etc/os-release (Errno::ELOOP)
我已经安装了适用于Windows的Vagrant,我正试图启动我在WSL2中克隆的Laravel的Homestead,方法是将其克隆到WSL2通过PowerShell提供的Z:
目录中(这样我就可以访问安装在Windows上的Vagran(。
cd Z:homecoderprojectshomestead
如果我理解正确的话,Vagrant似乎试图从文件系统中识别操作系统。因此,如果你试图在Windows上通过Unix/WSL/Linux网络共享运行Vagrant,它似乎会试图像Unix一样运行,但失败了。
解决方案
我能够将homestead
目录从网络共享复制到我的Windows环境中,然后导航到该目录并使用powershell成功运行vagrant up
。
另一种选择
听起来你也应该能够在WSL2中安装Vagrant,并在WSL2而不是PowerShell中使用它。
另一种需要注意的可能性是,您可以从WSL2中调用ex,但如果您试图从WSL2内运行Window的Vagrant,听起来它将无法正常工作。
研究
- https://github.com/roots/trellis/issues/1083
- https://www.vagrantup.com/docs/other/wsl.html
- https://discourse.roots.io/t/command-vagrant-up-in-wsl-is-failed/16528