在这篇文章中,我介绍了我在开发工作流程中安装和运行 WSL2(适用于 Linux 的 Windows 子系统)的一些第一印象。
我没有以任何方式进行过任何详尽的、科学的或精确的测试。但我发现,对于 npm 或 yarn 等日常 Web 开发任务,WSL 的速度大约快 5 倍。
此外,热重载和使用 create-react-app 或 vue-cli 会更快!
继续阅读以了解安装、入门、陷阱和特定时间 npx create-react-app
WSL 2 带来了什么?
这是我经历的过程以及我在安装时遇到的惊喜。
在 Windows 10 上安装 WSL2
Microsoft 现在有关于如何安装 WSL 和更新到 WSL2 的稳定文档。
要启动并运行,请按照上面的指南设置新的 linux 发行版。
检查安装是否有效
以下命令将向我们显示我们安装了哪些发行版以及它们的版本:
- wsl --list --verbose
-
- # or shorthand
- wsl -l -v
安装失败
如果您已经在 WSL 1 上安装了 Ubuntu,则可能需要完全卸载并重新安装它。
如果您的计算机在运行更新命令时遇到问题(如我的计算机),那么您可能需要完全卸载并重新安装您的发行版。
我进入了应用程序 > 应用程序和功能下的 Windows 设置并卸载了 Ubuntu:
然后我确保我想要的所有新安装的默认版本是版本 2:
- wsl --set-default-version 2
现在我们可以进入Windows Store进行安装:
安装完成后,我们可以检查以确保安装了版本 2。打开 Powershell 并运行:
- wsl -l -v
运行 WSL
您可以打开 Windows 终端并使用 Ubuntu 下拉菜单:
或者,您可以打开cmd
或Powershell
运行:
- # open up windows subsystem for linux
- wsl
WSL 2 的问题
现在在文件系统之间传输时的速度有点慢。这对我来说并不担心,因为我从未转学过。我只在安装到 Linux 系统中的 Windows 文件中工作。
这是有关从 WSL 1 到 WSL 2 的用户体验更改的指南。该两大陷阱是:
- 将您的文件移动到 Linux 文件系统而不是 Windows 系统
- 您将需要像通过 IP 地址一样访问本地主机应用程序
[localhost:3000](http://localhost:3000)
192.168.28.2:3000
将所有文件移动到 Linux
为了利用 WSL 2 中所有新的速度改进,我们的文件需要移动到 Linux 文件系统中。
找出将文件移动到何处的最佳方法是在 Linux 中找到主目录,然后在 Windows 资源管理器中打开它。运行以下命令:
- # find the home folder
- cd ~
-
- # open up windows explorer for this folder
- explorer.exe .
注意作为网络路径的路径:
我们现在可以将我们的文件从我们的 Windows 文件夹移动到这个新的网络文件夹中。我们将能够从我们的 WSL 访问它并与它交互,就好像它仍然在相同的 Windows 文件中一样。
例如,我们可以使用像n这样的工具安装 Node ,然后运行npm start
以运行本地服务器,例如一个 React 应用程序。
网络不是本地主机然而,
当我们使用create-react-app或vue-cli创建应用程序时,我们通常会运行类似yarn start
或的命令yarn serve
来运行本地服务器。
通常我们可以在浏览器中使用[localhost:3000](http://localhost:3000)
React 或[localhost:8080](http://localhost:8080)
Vue来检查我们的应用程序。
在 WSL 2 的早期阶段,我们不能使用 localhost。我们需要使用 IP,因为 Linux 在 VM 中。
要当前访问您的应用程序,我们将使用 IP。
请注意192.168.28.2:3000
. 我们将使用它来访问我们的应用程序:
快速比较和速度测试
整个练习是为了获得比前一个更快的设置。让我们看看这个设置是否更快!
我没有什么太科学的东西。我会回去运行更多的测试,但我很沮丧一个新的 React 应用程序花了多长时间来制作 WSL 1。
现在,我们的测试是运行 npx create-react-app my-new-app。
我们将比较以下机器。我知道这根本不科学。我希望我有更多具有类似设置的计算机。我希望我在升级到 WSL 2 之前已经完成了这些速度测试。哦,好吧。我们有我们有的!
- 我的台式机(超级强大,肯定比笔记本电脑更强大)
- Surface Book 2 15″ i7
- MacBook Pro 15″ 2015
- npx create-react-app my-new-app
这是我在每个平台上运行几次测试得到的数字。
- Surface Book 2 WSL 1:257 秒
- Surface Book 2 WSL 2:52秒
- 2015 款 MacBook Pro:45 秒
- 2018 款 MacBook Pro:38 秒
虽然仍然不如最新的 MacBook Pro 快,但 WSL 2 比 WSL 1 有了显着的改进。
下一步是什么?
我们将不断获得更新,我将继续测试以查看性能是否有所改善。我很想达到一个点,Windows 上的 WSL 2 可以和 2018 年的 MacBook Pro 一样快。
我喜欢 Windows 和 Mac 平台,有了 WSL 2,我在两个平台上的工具变得更加接近:
- 铬合金
- VS代码
- 终端
快乐编码!