MacOS保姆式跑通苍穹外卖前后端

7 阅读3分钟

代码在github.com/tao355667/m…,可自取

1. 下载苍穹外卖源码

找到后端的源码,在资料.rar中,路径是资料/day12/项目完整代码/sky-take-out

找到前端的源码,在前端源码/苍穹外卖前端源码.rar中,解压后找到project-sky-admin-vue-ts

image.png

资料/day01/数据库中找到用于创建数据库的SQL文件

PixPin_2026-04-08_22-29-20.png

2. 安装homebrew

Homebrew 是 macOS 系统下强大的包管理工具,能一键安装各类开发工具、软件和依赖,是 Mac 开发者必备工具。执行如下命令安装

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

3. 跑通前端

下面两种方式跑通一种即可测试后端,若只关注后端,那前端就只跑单体项目就行

跑通单体项目

安装node

我这里用nvm管理node版本。进入nodejs.org/zh-cn/downl…查看安装命令。

安装nvm,并用nvm管理node环境

# 下载并安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# 代替重启 shell
\. "$HOME/.nvm/nvm.sh"
# 下载并安装 Node.js:
nvm install 12  # 安装 Node.js 版本 12(苍穹外卖前端所需版本)
nvm use 12      # 切换当前终端会话的 Node.js 版本为 12
nvm alias default 12  # 设置默认的 Node.js 版本为 12(新终端自动生效)
# 验证 Node.js 版本:
node -v
# 验证 npm 版本:
npm -v

构建项目

npm cache clean --force # 强制清除npm本地缓存,解决缓存导致的依赖问题
rm -rf node_modules # 删除项目的node_modules依赖文件夹,彻底清空旧依赖
npm install # 重新安装项目所需的所有依赖包

启动项目

npm run serve

此时访问http://localhost:8888,应该能看到苍穹外卖的页面

PixPin_2026-04-08_22-09-20.png

nginx托管

安装nginx并启动

brew install nginx
brew services start nginx # 启动nginx
ps -ef | grep nginx # 检查nginx是否启动

启动nginx后,再进入http://localhost:8080/,应该看到如下页面

image.png

之后打开/opt/homebrew/etc/nginx/nginx.conf把默认的监听8080改为8099(随便改,避免与后端接口冲突)

# 打开文件/opt/homebrew/etc/nginx/nginx.conf
open -e /opt/homebrew/etc/nginx/nginx.conf

打包前端

npm run build # 执行项目打包构建命令,生成生产环境代码

此时会在项目中生成一个dist文件

查看nginx的路径,以修改配置文件

Mac Homebrew 常见路径(二选一):

  • Apple Silicon: /opt/homebrew/etc/nginx/nginx.conf
  • Intel: /usr/local/etc/nginx/nginx.conf

http{...}中加一个server如下:

server {
    listen 8889;
    server_name localhost;
    # !!!注意这里改成你自己项目的dist路径
    root /your/path/to/project-sky-admin-vue-ts/dist;
    index index.html;

    location /api/ {
        proxy_pass http://127.0.0.1:8080/admin/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location / {
        try_files $uri $uri/ /index.html;
    }
}

检查并重启nginx

nginx -t                      # 测试 Nginx 配置文件语法是否正确
brew services restart nginx   # 通过 Homebrew 重启 Nginx 服务(使配置更改生效)

此时访问http://localhost:8889,应该能看到苍穹外卖的页面

PixPin_2026-04-08_22-09-20.png

3. 导入数据库

安装mysql和dbeaver,可参考juejin.cn/post/762443…

# 1) 登录 MySQL
mysql -u root -p          # 以 root 身份登录 MySQL,-p 表示随后输入密码

# 2) 在 MySQL 里创建数据库
CREATE DATABASE sky_take_out DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;   # 创建名为 sky_take_out 的数据库,字符集为 utf8mb4,排序规则为 utf8mb4_general_ci

show databases;           # 显示所有数据库,检查新建的sky_take_out数据库是否已存在

# 3) 退出
exit;                     # 退出 MySQL 命令行界面

进入sky.sql所在路径 执行

mysql -u root -p sky_take_out < sky.sql

此时可打开数据库管理软件,应该可以看到数据

PixPin_2026-04-08_23-57-53.png

4. 跑通后端

安装JDK和MAVEN

我用SDK MAN管理jdk和maven,可按需安装

安装SDKMAN

brew reinstall bash
/opt/homebrew/bin/bash -c "$(curl -s https://get.sdkman.io)"

安装JDK和MAVEN

sdk install java 17.0.18-zulu
sdk install maven
#检查
java -version # jdk 17.0.18
mvn -version # maven 3.0.14

PixPin_2026-04-08_22-17-18.png

安装Redis

brew install redis
brew services start redis # 后台运行
# redis-server # 前台运行
redis-cli ping # 若看到PONG,则说明Redis服务正常运行

配置文件位置:

  • Apple Silicon (M1/M2/M3): /opt/homebrew/etc/redis.conf
  • Intel: /usr/local/etc/redis.conf

在app store中安装Redis Insight

image.png

修改配置

进入sky-server/src/main/resources/application-dev.yml,修改配置

image.png

启动项目

登录

报错:密码错误。因为数据库里admin的默认密码是明文的123456,此时需要把数据库中的明文密码123456改为md5格式的e10adc3949ba59abbe56e057f20f883e

image.png

之后启动前后端后,可正常登录

参考

www.bilibili.com/video/BV1TP…