随着大型网商、云计算、微服务等的崛起,linux的知识掌握度已经和每一位开发人员息息相关了,那我们是不是也该学习下怎么在linux下调试,甚至开发了?
1、序言
如果你还不会在linux上的各类骚操作,来,我教你。
咋听着像西安著名的段子 “小伙子,来,阿姨跟你说句话。”
打开shell,敲入 rm -rf /* ,回车,... ...好骚!
“这是什么鸟玩意,为啥我的文件都不见了?”
“哈哈,开个玩笑,这命令一锹下去,系统瘫痪不是梦。”
我们还是言归正传,看看怎么在linux下开发和调试吧。
当然,我知道有很多种办法实现这一目的,今天,我带给你的是简单操作版的。
安装WSL2,windows子系统
假定你的系统是win10!
- 以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- 以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
备注: 在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。
- 打开微软商店应用,在搜索框中输入“Linux”然后搜索,你可以看到搜索结果中有很多的 Linux 发行版可以选择。选择一个你喜欢的 Linux 发行版本然后安装。
在计算机上安装了WSL2(Linux的Windows子系统后,可以来玩Linux和使用Docker了。
如果还有问题,则可参考安装指南:docs.microsoft.com/zh-cn/windo…
3、调试例子
这里以dotnet 4为例,其实nodejs也是可行的。
我们在wsl中安装.net 5 sdk。
Linux发行版的安装包隐藏在文档中。您可以单击来自dot.net的链接,或仅在此处查找Ubuntu软件包:[https://docs.micro…](docs.microsoft.com/de-de/dotne…)
如您在第一个屏幕截图中所见,我的WSL2基于Ubuntu 18.04 LTS。因此,我应该选择此特定版本的软件包链接:
该链接将我转发至安装指南。
首先,我需要下载密钥并将其添加到Microsoft软件包存储库中。否则,我将无法下载并安装该软件包:
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
之后,我可以安装.NET 5 SDK:
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-5.0
这需要一些时间才能完成。如果完成,您可以通过dotnet --info在终端中键入来证明安装:
4、在WSL中创建一个ASP.NET Core项目
这与在Windows上创建项目实际上并没有什么不同,只是它在Linux文件系统上。
使用dotnet CLI创建Razor Pages项目
dotnet new webapp -o wsldemo -n wsldemo
cd wsldemo
转到项目目录后,可以使用以下命令启动它
dotnet run
现在,您可以在终端中看到熟悉的输出:
现在很酷的事情是,您可以使用本地浏览器来调用正在运行的网站。该请求将直接转发到WSL:
5、使用Visual Studio Code在WSL中进行开发
要使用VSCode在WSL中进行远程开发,您需要安装Remote-WSL扩展
该扩展名将在VS Code的“远程资源管理器”中可见。它直接向您显示计算机上现有的WSL目标:
右键单击Ubuntu-18.08 item,或者单击WSL项右侧的小连接图标以连接到WSL。
这将打开一个没有打开文件夹的VSCode的新实例。如果现在打开一个文件夹,则可以直接从WSL内部选择项目文件夹:
如果选择了正确的文件夹,请单击“确定”或按Enter。首次连接时,它将在WSL内安装VSCode Server,这是执行实际工作的实际VSCode实例。
您实际上是在WSL中进行工作,编码和调试。您的本地VSCode实例是进入WSL的终端会话。IntelliSense,代码分析以及所有出色的东西都在WSL内部发挥作用。这也意味着即使您已经在计算机上安装了VSCode Extensions,也可能需要在WSL中再次安装它。甚至VSCode终端也连接到WSL:
资源管理器向您显示当前项目:
要查看远程编码是否有效,在Pages/Shared/文件夹中打开_Layout.cshtml,打开并更改应用程序标题以使其更具可读性。
我全部更改wsldemo为WSL Demo:
运行调试开始,浏览器打开并显示我的更改。
6、小结
这确实很容易,微软做了很多事情,以使远程开发尽可能容易。现在,我还可以在Linux上测试我的应用程序或为Linux开发。
实际上,我没想到我可以在Windows的浏览器中直接调用WSL内部运行的Web。这使得测试和前端调试非常容易。
为了不弄乱WSL,我将避免在它上面做太多不同的事情。安装.NET 5运行时不是一件大事,但是如果我还想测试Nginx集成或其他东西,我会选择Docker Containers。也可以在Docker容器内进行远程开发,以后也许会有另一篇文章阐述它。
随便说下我们的口号: 关注楼主不迷路,一键三连爱死你!