大家好,
在花费了一些时间尝试在 Windows 11 / WSL2 上搭建一个可用的开发环境后,我想分享一下我遵循的步骤。
这是我的第一篇帖子,希望对大家有所帮助
我是一名系统管理员,习惯于使用 Windows,所以学习 Linux / Ruby / Discourse 等对我来说是一段有趣的旅程。
自从 Windows 10 的指南编写以来,似乎有些东西发生了变化,我在此过程中遇到了一些问题(从评论中可以看出,我不是唯一一个!)。
我可以确认,以下说明在我的 Windows 11 Pro 22H2 安装以及即将发布的 Windows 11 23H2 Release Preview 的 Windows Insider 版本上均有效。
我会尽量让说明简短明了 ![]()
初始准备
- 检查是否有 WSL 更新,并在适用时安装。从 Windows Powershell 窗口使用此命令:-
wsl.exe --update
- 使用此命令在 WSL2 中安装 Ubuntu:-
wsl.exe --install -d Ubuntu
-
按照屏幕上的提示创建用户名和密码。
-
进入 Ubuntu 终端后,检查并安装所有适用的更新。
sudo apt update && sudo apt upgrade -y
- 现在一切都已更新,我们可以继续了

WSL 修改
- 在克隆 Discourse 之前,运行以下命令打开 /etc/wsl.conf 文件:-
sudo nano /etc/wsl.conf
- 在现有文件的底部添加以下内容,按 Ctrl + X 保存更改,并在提示时按“Y”。
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
-
完全关闭 WSL 终端并重新启动它,以便这些更改能够正确应用。
-
现在复制并粘贴以下单行安装脚本来设置开发环境。根据您的计算机速度和/或互联网连接速度,这可能需要一些时间才能完成,所以去喝杯咖啡什么的吧!
bash <(wget -qO- https://raw.githubusercontent.com/discourse/install-rails/master/linux)
- 启动 PostgreSQL 服务:-
sudo service postgresql start
- 由于我们在 WSL2 中运行,我收到了关于 VM 内存不足的警告消息,可以通过运行以下命令解决:
sudo sysctl vm.overcommit_memory=1
- 运行以下命令,以便 redis-server 自动重启:-
redis-server --daemonize yes
- 将 Discourse 克隆到主文件夹:-
git clone https://github.com/discourse/discourse.git ~/discourse
- 进入新创建的 Discourse 文件夹:-
cd ~/discourse
- 运行以下命令(我是一行一行执行的)(不确定这是否必要,或者是否可以一次性复制粘贴)。
source ~/.bashrc
bundle install
yarn install
- 设置环境:-
RAILS_ENV=development bundle exec rake db:create db:migrate
- 启动 Discourse
DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u
-
打开一个单独的终端,使用 cd ~/discourse 进入 Discourse 目录,然后运行 rails admin:create - 按照说明设置您的管理员用户帐户。
-
在浏览器中访问 http://localhost:4200,Discourse 应该已经启动并运行

