【实用github项目】Earthworm 通过连词构句的方式让你更好的学习英语~ 😊
本文最后更新于 2024-05-12,
若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益, 请联系我 删除。
本站只有Telegram群组为唯一交流群组, 点击加入
文章内容有误?申请成为本站文章修订者或作者? 向站长提出申请
🚀 如何开始?
以下所有相关操作都基于项目根目录位置,请注意检查不要出错!
注意事项
- pnpm version >= 8
corepack enable
- Node.js version >= v20
使用来自 .node-version 的版本 支持的工具
- Postgres version >= 8.0.0
- Redis version >= 5.0.0
- 项目依赖 Docker,所以请确保你本地已安装并成功运行
编辑器
VSCode
- 安装推荐的插件 extensions.json
docker --version # Docker version 24.0.7, build afdd53b
node --version # v20+
pnpm -v # 8+
1. 安装依赖
pnpm install
2. 配置 .env
文件
可以选择将 ./apps/api/.env.example
文件内容复制到 ./apps/api/.env
,请注意 example
文件中的是示例配置,主要是一些系统的环境变量信息,比如:数据库连接地址、用户名、密码、端口、密钥等等,后端服务会从此文件中读取配置信息,当然你也可以更改成你自己的配置信息。
Windows 用户推荐快捷键复制粘贴,Linux 用户可以通过下面的命令进行操作。
Server
cp ./apps/api/.env.example ./apps/api/.env
Client
cp ./apps/client/.env.example ./apps/client/.env
3. 恢复 Logto 的数据
解压缩 logto_db_init_data.zip
到 .volumes/
unzip logto_db_init_data.zip -d .volumes/
- 后台地址: http://localhost:3011
- 用户名: admin
- 密码: wYJha:-eYMrAe9i
如果你想 手动配置 Logto
4. 启动 Docker Compose 服务
后端用到了 Postgres 和 Redis 服务,通过下面在 package.json
中配置的命令启动和停止。
# 启动
pnpm docker:start
# 下面这些命令等你用的时候在执行,不要傻乎乎的刚启动就停止哈 😊
# 停止
pnpm docker:stop
# 删除
pnpm docker:delete
# 完全删除(包括 Volume 数据)
pnpm docker:down
当然如果你更喜欢手动操作
docker compose up -d
docker compose stop
docker compose down
# 兼容老版本 docker 的命令
docker-compose up -d
5. 初始化数据库表结构
执行这个命令时,尽量与上个命令间隔一点时间,因为刚刚使用的 -d
参数会让其服务挂起在后台执行,此时 docker 服务可能还在 running 中,若是发现报错了那就再执行一遍。
隔一点时间,因为刚刚使用的 -d
参数会让其服务挂起在后台执行,此时 docker 服务可能还在 running 中,若是发现报错了那就再执行一遍。
pnpm db:init
6. 创建并上传课程数据
只有第一次初始化数据库后需要执行。
pnpm db:upload
7. 启动后端服务
pnpm dev:serve
8. 启动前端服务
pnpm dev:client
❓ 常见问题解答
数据库连接不上
我的 Docker 和里面的数据库都正常跑起来了,但是跑 db:init
命令时还是报错,提示数据库连接失败。
可以检查下 .env
文件中的数据库配置是否正确,甚至是这个文件有没有!
如何正确的更新课程数据?
当你发现有错误的课程数据并修改后,应当使用下面的命令将课程数据更新到数据库中。
pnpm db:update
pnpm install 报错?
某些依赖模块需要编译安装,因此需要相关编译环境。如果没有对应环境则会编译失败, 且不同模块所需编译环境不同,因此具体问题需要具体分析。 以下列出已经碰到过的具体问题。
先尝试使用下面的命令更新 pnpm
。
pnpm i -g
# or
pnpm i -g pnpm
# or
npx pnpm i -g pnpm@latest
在 Windows 上安装 argon2 模块失败的处理方式
- 安装 Visual Studio 2015 以上版本的组件,具体来说是 “使用 C++的桌面开发” 这个组件。(实际上包含 C++相关开发工具库的组件都可以)
- 编译过程中遇到中文乱码时,在命令行中执行
chcp 437
后,再重新运行 install 命令。
WSL2 中 docker 无权访问?
在 Windows 中使用 wsl2 做为开发环境时,通过 docker compose up -d
启动 docker 出现如下错误:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
解决方法
将当前的用户添加到 docker 组中
# 添加 docker 用户组
sudo groupadd docker
# 将登录用户加入到 docker 用户组中
sudo gpasswd -a $USER docker
# 更新用户组
newgrp docker
# 测试 docker 命令是否正常使用
docker images
反向代理
参考教程:安装及使用
⚠️Nginx Proxy Manager(以下简称NPM)会用到80、443端口,所以本机不能占用(比如原来就有Nginx)
互联网使用请确保完成了域名解析