在wsl2配置go、docker、vue开发环境

wsl2

升级系统

首先升级你的windows系统到2004版本,可以在设置里直接更新,也可以去微软官网下载win10易升来升级,现在是2020年10月17日,在设置里直接就能更新到2004版本了,一般会更推荐在设置里更新

用管理员身份运行powershell

如果之前没有用过 WSL,那么首先需要安装 Windows 10 的 WSL 功能,如果之前有用过则可以跳过这步

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

安装 WSL2 功能模块

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完毕后重启电脑

安装wsl2内核

至此为止我们只是开启了 WSL2 的功能,但是还需要安装对应的 Linux 系统内核。从微软官网下载wsl2内核

下载 Linux 内核更新包

在 PowerShell 中,将 WSL 默认版本设置为2,这样之后安装的 Linux 发行版才会都安装在 WSL2 中

wsl --set-default-version 2

安装wsl2

将你旧的wsl删掉【删之前需要备份的东西做好备份】【我知道有一句迁移命令,但看网上很多人说那句并不好用干脆重装】

打开应用商店,搜索你想要的wsl2系统【我用的是ubuntu18.04】,直接在商店里点击安装

安装完成后可以在powershell中查看安装的wsl的版本

wsl --list --verbose

挂载

如果你和我一样使用的是surface设备并且有插一块TF卡,或者你在工作中会需要将你的U盘移动硬盘挂载进wsl2,则执行下面的命令

mount -t drvfs D: /mnt/d

-t 指定档案系统的形态

D: 是你要挂载的盘符,根据你要挂载的盘在 此电脑 中显示的盘符为准

/mnt/d 是挂载进wsl2的位置,因为wsl2中,我们计算机的盘默认是放在/mnt下的所以我也选择挂载在这个目录下,你也可以选择其他的任意位置,挂载之前记得先在此目录下创建对应的文件夹,如本例中,需要先执行mkdir /mnt/d 将目标挂载文件夹创建出来

如果挂载目录不为空,则挂载后会先隐藏此目录下原有的文件,取消挂载后他们会重新出现

取消挂载

umount /mnt/d

参考的对象类型不支持尝试的操作

  • 临时解决法【不推荐】

如果启动wsl2时提示“参考的对象类型不支持尝试的操作”

先把wsl2关掉

用管理员身份运行powershell,执行

netsh winsock reset

然后再打开wsl2,应该就可以了

我执行了这句之后,wsl2没有叫我设置新的用户名,进去就是root权限了

  • 长期解决法【推荐】

下载

链接:https://pan.baidu.com/s/1bVZ0OXZPxEt8l1IHYaFK3A ,提取码:vjge

解压,放在方便的地方,比如C盘

管理员身份运行CMD输入

NoLsp.exe C:\windows\system32\wsl.exe

请自行注意NoLsp.exe程序的位置,以及你的wsl.exe位置。

产生原因和解决方法分析:
临时解决法:代理软件和wsl2的sock端口冲突,使用netsh winsock reset重置修复。
长期解决法:Proxifer开发人员解释如下:
如果Winsock LSP DLL被加载到其进程中,则wsl.exe将显示此错误。最简单的解决方案是对wsl.exe使用WSCSetApplicationCategory WinAPI调用来防止这种情况。在后台,该调用在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog中为wsl.exe创建一个条目。
这将告诉Windows不要将LSP DLL加载到wsl.exe进程中

go

下载go的tar包

将go的tar包放置到你想要安装go的目录下

打开wsl2,进入此目录,tar -xvf 压缩包名解压缩

vim /etc/profile

在最后面加上

export GOROOT=/mnt/c/go
export GOPATH=/mnt/d/workplace
export GOPROXY=http://goproxy.cn
export GOSUMDB=goproxy.cn
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

这是我的配置,大家的路径要写自己的路径啦

写完保存,执行

source /etc/profile

这时候go应该就安装好了,大家可以测试一下

go version

能出来go版本就是ok了

docker

上Docker Desktop官网下载安装包

Docker Desktop

下好后双击安装,我反正是全下一步默认安装的

装好后如果你的docker不能直接进入runnning状态,你可以重启一下电脑,我装好后就是,Docker Desktop自动打开,但是左下角的docker状态一直变不成running,重启电脑以后就好了

打开Docker Desktop,看左下角的docker状态,如果是绿色且写着running就说明docker运转正常

这时打开 设置-Resources-WSL INTEGRATION

image.png

可以看到有个你安装的wsl2的选项,把前面的开关打开,docker就会去关联这个wsl2

开关打开后你进入wsl2,就会发现docker指令已经可以使用了

vue

nvm和node

我是用nvm来实现node的安装

使用nvm可以更方便的安装和管理不同版本的node

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

你可以直接尝试在wsl2中执行上面这句,有可能成功,如果不成功的话应该会报

Failed to connect to raw.githubusercontent.com port 443: Connection refused

通过IPAddress.com首页,输入raw.githubusercontent.com查询到真实IP地址:

199.232.68.133

hosts文件路径:c:/windows/system32/drivers/etc/

hosts文件默认只读,需要修改一下权限

在最后追加内容:199.232.68.133 raw.githubusercontent.com

用管理员模式改完保存,重启电脑

重启后再打开wsl2,执行

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.36.0/install.sh | bash

应该就可以了

安装完后需要重启wsl2,nvm命令才能使用

nvm安装完成后就可以比较方便的安装各版本的node了,我装的是12.19.0

nvm install 12.19.0

我安装的时候第一次失败了,没去查原因,重试就可以了,可能是网络不好吧

安装完成后执行

nvm list

可以查看当前nvm管理的node版本,如果需要你可以多装几个node版本,按需切换

vue-cli

执行下面这句可以指定安装的vue-cli版本,我这里因为项目不兼容vue-cli 4,所以我安装的是3.11.0版本

npm install -g @vue/cli@3.11.0

如果安装过程中提示有包安装失败像这样

image.png

则尝试下面的命令

npm install -g -unsafe-perm @vue/cli@3.11.0

应该就可以了

参考文档

WSL2来了!但是能正常使用并不简单

关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。

启动 WSL 2时警告“参考的对象类型不支持尝试的操作”

WSL挂在移动硬盘和u盘

nvm github

Mac下nvm安装443踩坑解决

vue-cli如何安装指定版本

centos8 安装vue cli 出错 core-js@3.4.6 postinstall node -e “try{require(‘./postinstall‘)}catch(e){}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容