最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

windows下搭建linux开发环境

业界 admin 8浏览 0评论

一、搭建方案

  1. 安装 VMware 或 VirtualBox 虚拟机
    可参考:Windows安装VMware(简单详细)
    虚拟机内存消耗较大,装个VMware,ubuntu,开发环境配置完,开启虚拟机,8g内存勉强扛得住。有一个小坑,VMware必须安装在c盘,安装在其他盘可能会导致一些功能失效。比如:将宿主机文件复制到虚拟机,会有无响应的情况。
  2. 安装WSL
    适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
    windows子系统,WSL的开销低于VMware等虚拟机。安装的教程同样有很多。
    可参考:win10安装wsl2

二、windows连接WSL-Linux环境

安装WSL后可以将开发环境全部转移到WSL内,在windows下运行vscode连接linux环境。WSL文档

  1. 在vscode内安装Remote-WSL插件,cmd输入wsl命令,在项目目录下 输入 code .。会在windows中弹出vscode。左下角显示,已经在WSL-Ubuntu环境下,在windows下写代码,子系统Ubuntu运行,同时vscode中打开的终端也是Ubuntu环境。

  2. 安装其他扩展
    其他扩展需要安装在wsl环境下,只安装在本地环境部分插件无法在wsl环境下使用。

  3. Docker
    安装的教程很多,我说下遇到的几个小问题把。
    WSL1是无法安装docker的,WSL1使用翻译层实现的,WSL2 使用 免维护VM,目前只能在WSL2中安装。
    vscode内的docker插件无法直接连接到WSL内的docker,需要先安装Remote - Containers这个插件,使用这个插件连接到docker。

  4. IntelliJ IDEA编辑器

    无法识别WSL环境内的SDK,只能将SDK安装在windows下。意味着每次编译上线都需要指定linux。

  5. ip重置
    电脑重启后,WSL的IP地址会变化,ip地址不是固定的,这样意味着每次开机都需要修改代码中的ip地址。
    解决方案:

    1. 使用localhost代替具体的ip地址,localhost可以连接到WSL
    2. 设置静态IP
      @echo off
      setlocal enabledelayedexpansion
      
      wsl -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
      
      netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0
      
      wsl -u root service mysql start
      
      wsl -u root service docker start
      
      pause
      
      代码放入 .bat 文件内,管理员权限运行。
      查看windows和Ubuntu的IP地址就会发现多了一个ip。
      可以将.bat文件放入windows启动目录下,实现开机自启。

一、搭建方案

  1. 安装 VMware 或 VirtualBox 虚拟机
    可参考:Windows安装VMware(简单详细)
    虚拟机内存消耗较大,装个VMware,ubuntu,开发环境配置完,开启虚拟机,8g内存勉强扛得住。有一个小坑,VMware必须安装在c盘,安装在其他盘可能会导致一些功能失效。比如:将宿主机文件复制到虚拟机,会有无响应的情况。
  2. 安装WSL
    适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
    windows子系统,WSL的开销低于VMware等虚拟机。安装的教程同样有很多。
    可参考:win10安装wsl2

二、windows连接WSL-Linux环境

安装WSL后可以将开发环境全部转移到WSL内,在windows下运行vscode连接linux环境。WSL文档

  1. 在vscode内安装Remote-WSL插件,cmd输入wsl命令,在项目目录下 输入 code .。会在windows中弹出vscode。左下角显示,已经在WSL-Ubuntu环境下,在windows下写代码,子系统Ubuntu运行,同时vscode中打开的终端也是Ubuntu环境。

  2. 安装其他扩展
    其他扩展需要安装在wsl环境下,只安装在本地环境部分插件无法在wsl环境下使用。

  3. Docker
    安装的教程很多,我说下遇到的几个小问题把。
    WSL1是无法安装docker的,WSL1使用翻译层实现的,WSL2 使用 免维护VM,目前只能在WSL2中安装。
    vscode内的docker插件无法直接连接到WSL内的docker,需要先安装Remote - Containers这个插件,使用这个插件连接到docker。

  4. IntelliJ IDEA编辑器

    无法识别WSL环境内的SDK,只能将SDK安装在windows下。意味着每次编译上线都需要指定linux。

  5. ip重置
    电脑重启后,WSL的IP地址会变化,ip地址不是固定的,这样意味着每次开机都需要修改代码中的ip地址。
    解决方案:

    1. 使用localhost代替具体的ip地址,localhost可以连接到WSL
    2. 设置静态IP
      @echo off
      setlocal enabledelayedexpansion
      
      wsl -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
      
      netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0
      
      wsl -u root service mysql start
      
      wsl -u root service docker start
      
      pause
      
      代码放入 .bat 文件内,管理员权限运行。
      查看windows和Ubuntu的IP地址就会发现多了一个ip。
      可以将.bat文件放入windows启动目录下,实现开机自启。
发布评论

评论列表 (0)

  1. 暂无评论