美文网首页我用 Linux
WSL:让你的Windows找到mac的感觉

WSL:让你的Windows找到mac的感觉

作者: superTxT | 来源:发表于2019-07-31 15:52 被阅读0次

    本文详细介绍了Windows10子系统Linux(WSL)的安装和配合Goland、vscode的使用方法,个人感觉WSL使得后台开发变得很方便,特此分享出来。原文章位于github中维护的learn-golang项目中

    WSL(Windows Subsystem for Linux)安装与使用

    官方介绍:WSL(Windows Subsystem for Linux)是适用于Linux 的 Windows 子系统,是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件的兼容层。
    直白的讲,就是借助WSL可以在Windows10中直接编译出Linux环境的可执行文件,让Windows下的开发有机会摆脱庞大的虚拟机,有点mac下开发的感觉,特别适合我这种没有mac的贫困码农。

    打开子系统功能

    在win10 power shell输入如下指令:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    

    win10 安装Ubuntu

    从win10应用商店安装Ubuntu:

    el81Ag.jpg

    安装后win10桌面会提示设置用户名和密码:


    elJiJH.png

    GO环境配置

    GOROOT配置

    配置共享目录

    为了方便的在Windows和WSL之间拷贝文件,要先设置共享目录。
    WSL中的/mnt/c/Users/HideOnBush/路径为Windows10在Linux下的挂载分区,为方便和win10共享文件,在Windows中新建UbuntuShare文件夹,在WSL添加软链接:

    ln -s /mnt/c/Users/HideOnBush/UbuntuShare/ win10
    

    HideOnBush是我的Windows中的用户名,需要替换为你实际的Windows用户名哦。

    WSL安装Go

    go语言中文网下载Linux go安装包(我使用的是1.12.5),放到刚才设置的共享目录中,就可以在WSL中操作了。
    解压到/usr/local:

    cd win10
    sudo tar -xzf go1.12.5.linux-amd64.tar.gz -C /usr/local/
    

    GOPATH配置

    将Windows和Linux的GOPATH设置为同一个路径,就可以实现在win10写代码时和在Linux编代码共用一套第三方包。

    查看win10环境变量

    elJlWj.png
    elJJO0.png
    可以看到我的Windows中GOPATH路径为Users/HideOnBush/go,接下来将WSL中的GOPATH设置为同一路径,完成后续操作就可以方便的在Windows中编写代码并调用Ubuntu编译代码了。

    设置wsl GOPATH:

    vim ~/.bashrc
    

    末尾添加:

    export GOPATH=/mnt/c/Users/HideOnBush/go
    export GOROOT=/usr/local/go
    export PATH=$GOROOT/bin:$PATH
    

    使修改立即生效:

    source .bashrc
    

    使用go env查看GOPATH是否配置成功:

    elJNwT.png

    可以看到我的GOPATH已经设置为和Windows中的GOPATH一致了。

    更新软件源

    sudo cp /etc/apt/sources.list /etc/apt/sources.list_origin
    sudo vim /etc/apt/sources.list
    
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    
    sudo apt-get update //更新源
    sudo apt-get upgrade //根据软件源的信息更新软件
    

    在Windows中调用WSL bash

    接下来根据你使用的编译器,将编译器使用的bash修改为WSL内的bash,就可以在Windows下编译出Linux下的可执行文件。

    配合goland 使用

    修改bash为wsl所在路径

    找到wsl命令行所在路径,


    el8Y3n.jpg

    设置goland "shell path",


    el83NQ.jpg

    修改goland换行符为UINX下的LF:


    el8Knf.jpg

    terminal测试,


    el8MB8.jpg

    不能直接使用goland的run图标运行,因为goland默认使用的是Windows中的编译环境,必须要在terminal中编译才是使用的WSL的bash编译。

    配合vs code使用

    安装wsl后在vscode terminal可以看到wsl(windows system linux)的窗口,就可以在这儿方便操作Linux。


    el8J9s.jpg

    为了防止和Linux内编写的文件换行符有冲突,推荐修改换行符为Linux样式,如下:


    el88hj.jpg

    至此,Windows10的Linux子系统的开发环境已经基本搭建完成,后续根据你的需要在WSL安装对应工具即可,如果觉得WSL的命令行太难用,可以使用Goland的terminal,或者使用Secure CRT等SSH工具。

    相关文章

      网友评论

        本文标题:WSL:让你的Windows找到mac的感觉

        本文链接:https://www.haomeiwen.com/subject/ggdtdctx.html