引言
为什么要这么做?
在当今的开发世界中,GitHub 上汇聚了无数优秀的开源项目,吸引着众多开发者去探索、学习和使用。然而,不少开发者在尝试将这些项目在本地进行部署复现的时候,常常会遇到一个棘手的问题:有些 GitHub 项目所需的一些关键的依赖包,只支持 Linux 系统,这在纯 Windows 环境下就形成了一道难以跨越的壁垒。
不过,随着 Windows 11 以及 Windows Subsystem for Linux(WSL)的出现,为我们提供了绝佳的解决方案。
今天,咱们就来详细聊聊如何在 Windows 11 上借助 WSL - Linux 部署 GitHub 项目,同时分析下这样做的好处与劣势,希望能帮助各位开发者更加得心应手地进行项目实践哦。
文章引导思维导图
├── 引言
| ├── 为什么要这么做?
│ ├── GitHub 开源项目的重要性
│ ├── Windows 环境下的部署难题
│ └── WSL - Linux 提供的解决方案
├── 一、实现思路
│ ├── (一)开启 WSL 支持
│ │ ├── 打开控制面板
│ │ ├── 启用或关闭 Windows 功能
│ │ └── 勾选适用于 Linux 的 Windows 子系统
│ ├── (二)安装合适的 Linux 发行版
│ │ ├── 打开微软商店
│ │ ├── 搜索并安装 Ubuntu
│ │ └── 设置用户名和密码
│ ├── (三)配置环境及依赖项
│ │ ├── 更新系统与安装基础工具
│ │ └── 安装项目依赖的特定软件和库
│ ├── (四)克隆 GitHub 项目
│ │ ├── 使用 git clone 命令
│ │ └── 克隆到 Windows 本地项目文件夹的灵活性
│ └── (五)项目部署与运行
│ ├── 执行构建、安装依赖及运行命令
│ └── 仔细阅读官方文档
├── 二、这样做的好处
│ ├── (一)融合两种系统优势
│ │ ├── Windows 的图形界面与办公软件
│ │ └── Linux 的稳定、开源与开发环境
│ ├── (二)轻松利用 Linux 生态
│ │ ├── 使用 Linux 下特有的开源工具、框架和库
│ │ └── 拓宽技术资源范围
│ ├── (三)方便的文件交互
│ │ ├── Windows 与 Linux 子系统共享文件
│ │ └── 简化文件管理流程
│ └── (四)灵活的开发环境配置
│ ├── 使用包管理工具安装、更新和管理软件
│ └── 定制化开发环境
├── 三、存在的劣势
│ ├── (一)资源占用与性能损耗
│ │ ├── 占用系统资源
│ │ └── 硬件配置较低的电脑可能吃力
│ ├── (二)部分软件兼容性问题
│ │ ├── 某些图形界面应用显示异常
│ │ └── 与 Windows 系统中其他软件协同工作的小麻烦
│ └── (三)学习成本的增加
│ ├── 需要学习 Linux 系统基础知识
│ └── 上手难度和学习成本增加
└── 总结
├── 权衡利弊,合理运用
└── 提升开发能力,探索 GitHub 资源
一、实现思路
(一)开启 WSL 支持
Windows 11 系统本身并不直接具备完整的 Linux 环境,所以第一步就是要开启对 WSL 的支持。我们可以通过以下操作来实现:
- 打开 “控制面板”,在其中找到 “程序” 选项,点击进入后,找到 “启用或关闭 Windows 功能” 这一设置入口。
- 在弹出的窗口里,勾选 “适用于 Linux 的 Windows 子系统” 选项,然后点击 “确定” 按钮,接下来系统就会自动进行相关组件的安装,耐心等待这一过程完成即可。
(二)安装合适的 Linux 发行版
WSL 只是一个基础框架,我们还需要在其之上安装具体的 Linux 发行版,这里以 Ubuntu 为例(Ubuntu 在开发社区中使用极为广泛且与很多项目兼容性良好):
- 打开微软商店(Microsoft Store),在搜索栏中输入 “Ubuntu”,会出现不同版本的 Ubuntu,选择适合自己需求的版本(如 Ubuntu 24.04.1 LTS 等),然后点击 “安装” 按钮进行下载安装。
- 安装完毕后,在开始菜单中找到对应的 Ubuntu 应用并打开它,首次启动时,Ubuntu 会要求设置用户名和密码,这组信息后续在 Linux 环境里操作时会经常用到,大家要妥善设置并牢记哦。
(三)配置环境及依赖项
- 更新系统与安装基础工具:进入 Ubuntu 终端后,首先执行 “sudo apt update” 命令来更新软件包列表,确保能获取到最新版本的软件包。之后,可以根据项目的大致需求,使用 “sudo apt install” 命令安装一些常用的基础开发工具,比如编译工具(gcc、g++ 等)、版本控制工具(git 等),为后续项目部署做好准备。
- 安装项目依赖的特定软件和库:正是由于有些 GitHub 项目依赖的关键包只在 Linux 系统下可用,所以我们才要在这个 Linux 子系统中去安装相应的软件环境和库。不同的项目往往依赖不同的软件,这就需要仔细查看项目的 README 文件或者文档说明。例如,如果项目涉及深度学习,可能需要安装 CUDA、CUDNN、Anaconda 以及对应的深度学习框架(如 TensorFlow、PyTorch 等),并且按照各自的官方安装指南,在 Ubuntu 环境下进行正确的安装和配置操作。
(四)克隆 GitHub 项目
在 Ubuntu 终端中,利用已经安装好的 git 工具,通过 “git clone < 项目的 GitHub 仓库地址>” 命令将项目代码克隆到本地。这里有个小技巧哦,其实可以选择将项目克隆到 Windows 11 的本地项目文件夹,并非一定要克隆到 WSL - Ubuntu 子系统的特定目录中,这样在管理项目文件时会更加灵活方便呢,后续只要在 WSL 环境下通过相应的路径访问到项目文件进行后续操作就行啦。
(五)项目部署与运行
按照项目提供的文档说明,在克隆下来的项目目录中,执行相应的构建、安装依赖以及运行命令等操作。例如,有些项目可能需要运行 “./configure” 进行配置,然后 “make” 进行编译构建,最后使用特定的可执行文件启动项目(像 “./ 项目启动命令” 这种形式),不同项目步骤会有所差异,所以一定要仔细阅读官方文档哦。
二、这样做的好处
(一)融合两种系统优势
Windows 11 有着强大的图形界面、丰富的办公软件以及广泛的用户基础,在日常办公、文档处理等方面表现出色。而 Linux 系统以其稳定、开源以及强大的命令行工具和开发环境著称。通过 WSL 将二者结合,我们既能在熟悉的 Windows 界面下操作,又能在需要时无缝切换到 Linux 环境进行项目开发、部署,充分发挥各自的优势,让开发工作更加高效便捷。
(二)轻松利用 Linux 生态
GitHub 上众多优秀的项目都是基于 Linux 环境开发的,那些只支持 Linux 系统的关键依赖包就是 Linux 生态的一部分。在 Windows 11 上借助 WSL - Linux 部署这些项目,相当于直接将 Linux 生态 “搬” 到了 Windows 平台上。我们可以轻松使用各种 Linux 下特有的开源工具、框架和库,无需担心兼容性问题,也不用再去费劲地寻找 Windows 下的替代方案,大大拓宽了我们可使用的技术资源范围,对于学习新技术、参与开源项目等都极为有利。
(三)方便的文件交互
WSL 允许 Windows 和 Linux 子系统之间方便地共享文件,我们可以在 Windows 资源管理器中直接访问 Linux 子系统的文件目录,反之亦然。这在项目部署过程中非常实用,比如可以直接在 Windows 下下载项目依赖的一些安装包,然后在 Linux 环境中进行安装;
或者将在 Linux 环境下生成的项目结果文件方便地复制到 Windows 分区进行查看、分享等操作,极大地简化了文件管理流程。
(四)灵活的开发环境配置
在 WSL - Linux 环境中,我们可以像在原生 Linux 系统上一样,通过各种包管理工具(如 apt、conda 等)轻松地安装、更新和管理项目所需的软件和库,能够快速搭建出符合项目要求的定制化开发环境,而且不同的项目可以配置不同的环境,彼此之间互不干扰,方便进行多项目的开发和维护工作。
三、存在的劣势
(一)资源占用与性能损耗
运行 WSL - Linux 子系统毕竟是在 Windows 11 基础上额外开辟的一个运行环境,会占用一定的系统资源,包括内存、磁盘空间以及 CPU 等。特别是当同时运行多个较为大型的项目或者执行复杂的运算时,可能会导致系统整体性能有所下降,出现卡顿等现象,影响开发体验,所以对于硬件配置较低的电脑来说,使用起来可能会有些吃力哦。
(二)部分软件兼容性问题
尽管 WSL 已经在不断完善,但仍然存在一些软件在 WSL - Linux 环境下无法像在原生 Linux 系统中那样完美运行的情况。比如某些图形界面的 Linux 应用,可能会出现显示异常、功能缺失等兼容性问题,而且在与 Windows 系统中其他特定软件协同工作时,偶尔也可能会遇到数据交互、权限管理等方面的小麻烦,需要花费额外的时间去排查和解决。
(三)学习成本的增加
对于习惯了纯 Windows 操作环境的用户来说,要熟练掌握 WSL - Linux 的使用,需要学习一些 Linux 系统的基础知识,例如常用的命令行操作、文件系统结构、权限管理等内容。虽然这些知识对于开发工作来说是很有价值的,但确实也在一定程度上增加了上手的难度和学习成本,需要花费时间去适应和掌握。
总的来说,在 Windows 11 上用 WSL - Linux 部署 GitHub 项目是一种兼具优势和挑战的方式。只要我们充分了解并权衡其利弊,根据自己的实际情况合理运用,就能借助这种方式更好地探索和利用 GitHub 上丰富的开源项目资源,提升自己的开发能力啦。希望这篇文章能帮助大家在项目部署的道路上少走弯路,快来一起试试吧!