在安装docker desktop时,被要求安装WSL2,但是根据提示,无法在powershell 里运行
wsl --set-default-version 2
出现以下错误
wsl : The term 'wsl' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ wsl
+ ~~~
+ CategoryInfo : ObjectNotFound: (wsl:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
但是很神奇的是我可以在CMD里运行wsl相关的命令,本来心存侥幸以为折腾了一上午可以用docker desktop,没想到在运行命令docker-compose build时还是出现了问题(没截图,但大致意思是docker-compose命令无法在WSL1里找到,请将WSL1转变成WSL2)
#########期间又在百度上无效折腾了好一会#########################################
有一说一,我没在百度上找到解决办法,最后还是用必应国际版找到这样一个帖子:Installing WSL2 - The term 'wsl' is not recognized as the name of a cmdlet · Issue #4422 · microsoft/WSL · GitHub
看了一下,里面有好几种解决办法,最后我确定了我应该属于以下情况:
简要概括:wsl命令无法在powershell里运行但是可以在CMD里运行
通过命令:wsl -l -v 可以看出我当前用的是Ubuntu-20.04但是它对应的是WSL1
这样的话(没有其他错误),可以直接用命令 wsl --set--version Ubuntu-20.04 2
再次查看,版本已经转变过来了
经过一上午的折腾,我深深地觉得有些方面知识国外更全面,好好学英语真的很重要(虽然我后来直接用的有道翻译,因为被这个问题折腾到心态奔溃),加油吧!
(哦,解决完WSL2的问题,docker-compose build还是没成功。。T_T)
(难怪有关问题的解决这么少,连WSL标签都建不了。。。)