设置适用于 Linux 的 Windows 子系统 设置适用于 Linux 的 Windows 子系统以供开发

2025-06-07

设置适用于 Linux 的 Windows 子系统

设置 Windows Subsystem for Linux 以进行开发

我在编程领域相对较新,我决定记录新概念和其他花了我一段时间才弄清楚的事情 - 不仅是为了巩固我的学习,也是为了帮助其他可能正在尝试学习或完成同样事情的人。

我参考了一大堆不同的博客和资源来设置 Windows Linux 子系统 (WSL),这些资源的版本可能略有不同,有些已经过时了。我没有找到一个最新的、包含我所有需要内容的资源,所以希望这篇文章能对某些人有所帮助。

设置 Windows Subsystem for Linux 以进行开发

Windows Subsystem Linux 不再需要启用开发者模式才能运行

准备 Windows

1) 确保您运行的是 Windows 10。Windows 子系统 Linux (WSL)在 Windows 上不会自动启用。因此,首先我们需要启用它!

a) 转到 Windows 搜索栏并输入turn windows features on or off

b) 点击与您的查询匹配的结果。它将在您的控制面板中。您应该看到如下内容:

切换 Windows 功能

c) 向下滚动直到看到“Windows Subsystem for Linux” - 确保其框被选中!

wsl复选框

2)重启计算机

3) 前往 Windows 10 官方网站System Information,检查您的 Windows 10 版本。如果您的版本早于 16215,请跳过步骤 4,直接执行步骤 5。

Windows 版本

4)打开 Microsoft Store。搜索“Ubuntu”

a)选择“Ubuntu”(我没有使用16.04或18.04 LTS)

微软商店中的 Ubuntu 选择

5) 如果您遇到错误或使用的是早期版本的 Windows 10,请参阅此处了解更多信息

6)打开 Ubuntu 应用程序。按照提示操作,包括设置用户名和密码。别忘记你的密码!

注意:如果您在此步骤中收到错误提示Windows Subsystem for Linux has no installed distributions. Distributions can be installed by visiting the Windows Store: https://aka.ms/wslstore Press any key to continue...,请尝试在服务桌面应用程序中手动启动或重新启动 LxssManager(只需services在 Windows 搜索栏中搜索即可)。在L部分中,您可以右键单击LxssManager并选择RestartStart

开始装备你的新 Linux 子系统:RVM / Ruby、git、NodeJS 和 Rails

1)一切设置完成后,我们就可以开始设置系统了!首先运行以下命令下载依赖项:

sudo apt-get update    
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev libpq-dev libgdbm-dev libncurses5-dev automake libtool bison gnupg postgresql postgresql-contrib
Enter fullscreen mode Exit fullscreen mode

2)运行以下命令安装 RVM:

    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB  
Enter fullscreen mode Exit fullscreen mode

其次是

   \curl -sSL https://get.rvm.io | bash -s stable --ruby  
Enter fullscreen mode Exit fullscreen mode

最后

   source ~/.rvm/scripts/rvm  
Enter fullscreen mode Exit fullscreen mode

3)让我们安装bundler gem:

    gem install bundler  
Enter fullscreen mode Exit fullscreen mode

4)并设置git:

    git config --global color.ui true     
Enter fullscreen mode Exit fullscreen mode

对于接下来的几个命令,请确保输入您的具体信息:

    git config --global user.name "your_name"
    git config --global user.email "your_email@example.com"    
Enter fullscreen mode Exit fullscreen mode

您可以通过 HTTPS 或 SSH 与远程仓库通信。如果您想使用 SSH(这意味着您无需在每次推送前使用 GitHub 用户名和密码进行身份验证),请按照以下说明操作。

5)现在让我们安装 NodeJS,然后安装 Rails,这样我们就可以做很多东西了!

  • 一、nodejs:

    curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
    sudo apt-get install -y nodejs  
    
  • 接下来是 Ruby on Rails:

    gem install rails
    

选择你的编程编辑器:VSCode

您可以使用任何您想要的编辑器,但我将逐步介绍如何设置 VSCode。

1)在此处下载 VSCode 。请选择 Windows 下载,而不是 Linux 下载。任何所需的 Linux 下载都将通过 Ubuntu 终端完成,其余所有内容都应下载适用于您的 Windows 操作系统的版本。

2)要配置您的 Ubuntu 终端以在 VSCode 中可用:

  • 打开 VSCode
  • F1通过或Ctrl+ Shift+打开命令面板p
  • 开始输入以下内容:Terminal: Select Default Shell直到看到它。选择该选项。

    命令面板

  • 一旦你选择了它,就会弹出几个选项。你需要选择 WSL

    WSL 终端

3) 现在,您可以在 VSCode 中使用 Ubuntu 终端了。在“终端”下拉菜单中选择“新建终端”,或者输入Ctrl+ Shift+` 即可使用它!

4)附加用户设置:

  • 您可以在用户设置中添加一些内容,以自定义和提升您的编程体验。最重要的是,我们可以让 VSCode 像处理 .html 文件一样处理 .erb 文件,从而允许我们使用所有相同的快捷方式并获得相同的语法高亮。
  • 要打开用户设置,再次使用F1Ctr+ Shift+打开命令面板p并输入Preferences: Open Settings (JSON) 偏好设置
  • 您将看到如下屏幕:偏好设置
  • 要让您的 erb 文件像 html 一样处理,请将以下内容添加到您的用户设置中(上面圈出的内容):

        "emmet.includeLanguages": {
            "erb": "html"
        }
    
  • 我喜欢的一些可选的个人偏好:

        "window.zoomLevel": -1,
        "editor.acceptSuggestionOnEnter": false,
        "editor.fontSize": 11,
        "editor.fontFamily": "Hack, Consolas, 'Courier New', monospace",
    
  • 请注意,要使用 Hack 字体,您必须下载它。您可以在这里查看

重要知识:基本使用

您的终端实际上​​是在访问运行在 Windows 操作系统中的 Ubuntu 虚拟机。如果您cd进入终端,您将被引导至 Linux 虚拟机的“用户主目录”。这也是您打开 Ubuntu 应用程序时的默认位置。您实际上希望在正常的 Windows 文件空间中处理所有事务,而不是 Linux 虚拟机的文件空间。因此,您需要知道如何在终端中从 Ubuntu 文件系统导航到 Windows 文件系统。如果您了解系统的设置方式,这非常简单,让我们快速过一遍。

为了让您能够访问 Linux 机器的功能,Windows 将 Ubuntu 操作系统和文件系统存储在其自己的文件系统中。您绝对不能通过 Windows 机器访问 Ubuntu 文件。您应该做的是将您正在处理的所有内容保存在正常的 Windows 文件空间中,并通过 Ubuntu 终端访问该文件。那么,该怎么做呢?嗯,从 Ubuntu 的角度来看,它只是一台普通的 Linux 机器,但微软通过/mntUbuntu 根目录在 Linux 虚拟机和 Windows 操作系统之间建立了一条通路。

以下是 Linux 文件系统前几个级别的简要概览:

Linux文件系统

如您所见,该mnt目录是为其他文件系统创建的,因此这就是 Microsoft 将您的 Linux 连接到 Windows 机器的地方:

Linux文件系统

因此,您可以从起点输入以下内容到达那里:

cd /mnt/c/users/your_windows_username
Enter fullscreen mode Exit fullscreen mode

或者

cd ../../mnt/c/users/your_windows_username
Enter fullscreen mode Exit fullscreen mode

如果您将以下任一行作为alias.bashrc 文件(位于 中/home/your_linux_username/.bashrc)中的 ,您可以快速进入 Windows 主目录(在下面的示例中,只需home在终端中输入即可):

alias home="cd /mnt/c/users/your_windows_username"
Enter fullscreen mode Exit fullscreen mode

您可以通过导航到 Linux 主目录(运行 just cd)并输入以下内容来轻松更改 .bashrc 文件:

nano .bashrc  
Enter fullscreen mode Exit fullscreen mode

不过,为了避免弄乱,你得先备份一下 .bashrc 文件。你可以使用以下命令复制一份备份:

cp .bashrc .bashrc.bak  
Enter fullscreen mode Exit fullscreen mode

nano您可以按照屏幕底部的说明保存已修改的文件:单击Ctrl+ X,然后y单击Enter保存更改。

如果您对这些命令感到不舒服,请查看资源中下面的基本 Linux 命令链接。

记住,把所有东西都放在 Windows 目录下!这样,你就可以通过 Linux 终端或 Windows 操作系统访问它们,并且当你使用 VSCode 编辑器时,它也能打开到正确的位置。

code .
Enter fullscreen mode Exit fullscreen mode

(如果您在 Linux 文件系统中,VSCode 将会打开,但不会打开到正确的位置)。

PostgreSQL 数据库设置

设置 PostgreSQL 可以将简单的生产级数据库集成到 Rails 项目中。只需进行少量设置,即可轻松在 Heroku 上托管。

1) 首先,我们需要下载适用于 Windows 的 PostgreSQL - 下载交互式安装程序。2
) 下载并安装完成后,您可以在终端中输入以下命令来验证操作是否正确:

psql -p 5432 -h localhost -U postgres
Enter fullscreen mode Exit fullscreen mode

一旦连接验证成功,您可以通过输入退出

\q
Enter fullscreen mode Exit fullscreen mode

3) 接下来的步骤有几种方法,但最简单的方法是使用 pgAdmin。打开 pgAdmin,它是 PostgreSQL 的图形用户界面。

PGAdmin 启动

  • 这会在浏览器中打开 pgAdmin。右键单击“PostgreSQL”并选择“连接服务器”来启动服务器。

PostgreSQL 选择
PostgreSQL 连接

  • 输入下载时设置的密码
  • 您的 PostgreSQL 服务器正在运行,现在可以集成到您的项目中。
  • 您还需要设置用于 Rails 应用的新用户/角色和密码。请确保在设置过程中授予用户/角色所有可用权限。
  • Name在设置过程中,请确保在选项卡中填写General,在选项卡PasswordDefinition,并在选项卡中启用所有权限Privileges

创建用户

创建用户权限

示例:将 PostgreSQL 服务器连接到 Rails 应用

  • 确保您的服务器已连接并且角色已按照上述说明配置。
  • 确保您位于合适的目录(在 Windows 文件系统空间中)并创建配置为使用 PostgreSQL 的 Rails 应用程序:

    rails new my-first-app --database=postgresql

  • 现在,让我们配置database.yml文件以允许我们的应用连接到数据库。将以下内容添加到config/database.ymlBOTH 下的文件中development:test:您需要添加与我们在 pgAdmin 中创建的角色相对应的用户和密码。

    host: localhost
    user: your-postgres-username
    password: your-postgres-usernames-password
    
  • 我们现在可以通过在我们的应用程序中设置一些架构来测试我们的数据库和 Rails 互操作性:

    rails g scaffold Post title:string body:text
    
  • 现在创建并迁移数据库:

    rake db:create
    rake db:migrate  
    
  • 如果失败,请确保在开发和测试部分下添加了 database.yml 配置

  • 现在,启动服务器:

    rails s  
    
  • 如果您导航到localhost:3000您应该会看到我们在 Rails 上!

在轨道上

  • 让我们通过“localhost:3000 / posts”来测试我们的数据库

帖子

  • 现在只需点击 crud 链接,尝试发帖!我们应该能看到数据库和 Rails 应用完美兼容!

数据库工作

  • 希望一切顺利!现在您可以使用 WSL 进行开发了!

资源

Microsoft 文档:Windows Subsystem for Linux

使用 GitHub 设置 SSH 密钥

基本 Linux 命令

文章来源:https://dev.to/micahshute/setting-up-windows-subsytem-for-linux-3b7n
PREV
构建一个从 Google 表格中提取数据的 React 组件
NEXT
每个 Web 开发人员都应该知道的 10 个 CSS 技巧