ad97fd3da5
- .gitignore 新增忽略 .idea/、videos/、*.tar.gz、*.csproj.user、db 运行时文件 - 根目录 15 个中文运维 md 归档到 docs/ - 删除无部署脚本引用的 Dockerfile 与 Dockerfile-arm(保留 Dockerfile.prod) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8.0 KiB
8.0 KiB
Mac M1 芯片环境安装指南
本文档详细说明如何在 Mac M1 芯片上安装构建 dysync.net 项目所需的环境。
📋 需要安装的工具
- Docker Desktop - 用于构建和运行 Docker 镜像
- .NET 6.0 SDK - 用于构建后端项目
- Node.js 和 pnpm - 用于构建前端项目
🐳 1. 安装 Docker Desktop
方法一:使用 Homebrew(推荐)
# 1. 安装 Homebrew(如果还没有)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 2. 使用 Homebrew 安装 Docker Desktop
brew install --cask docker
# 3. 启动 Docker Desktop
open -a Docker
方法二:直接下载安装
-
访问 Docker 官网
-
安装 Docker Desktop
- 下载完成后,双击
Docker.dmg文件 - 将 Docker 图标拖拽到 Applications 文件夹
- 在 Applications 中找到 Docker,双击启动
- 下载完成后,双击
-
首次启动配置
- 首次启动需要输入管理员密码
- 等待 Docker 启动完成(状态栏会显示 Docker 图标)
- 点击状态栏的 Docker 图标,选择 "Settings" → "General",确保 "Use Rosetta for x86/amd64 emulation on Apple Silicon" 已勾选(如果需要运行 x86 镜像)
验证安装
# 检查 Docker 版本
docker --version
# 检查 Docker 是否运行
docker ps
# 如果显示容器列表(可能为空),说明安装成功
预期输出:
Docker version 24.0.x, build xxxxx
💻 2. 安装 .NET 6.0 SDK
方法一:使用 Homebrew(推荐)
# 1. 添加 .NET 的 Homebrew tap
brew tap isen-ng/dotnet-sdk-versions
# 2. 安装 .NET 6.0 SDK
brew install --cask dotnet-sdk6-0-400
# 3. 验证安装
dotnet --version
预期输出:6.0.xxx(版本号)
方法二:直接下载安装
-
下载 .NET 6.0 SDK
- 访问:https://dotnet.microsoft.com/download/dotnet/6.0
- 选择 "macOS" → "Arm64" → 下载安装包
-
安装
- 双击下载的
.pkg文件 - 按照安装向导完成安装
- 双击下载的
-
验证安装
# 检查 .NET 版本
dotnet --version
# 检查已安装的 SDK
dotnet --list-sdks
# 应该看到类似输出:
# 6.0.xxx [/usr/local/share/dotnet/sdk]
如果遇到问题
问题:命令未找到
# 检查 PATH 环境变量
echo $PATH
# 如果 /usr/local/share/dotnet 不在 PATH 中,添加到 ~/.zshrc
echo 'export PATH="/usr/local/share/dotnet:$PATH"' >> ~/.zshrc
source ~/.zshrc
问题:M1 芯片兼容性
.NET 6.0 SDK 原生支持 Apple Silicon(M1/M2),无需特殊配置。
📦 3. 安装 Node.js 和 pnpm
安装 Node.js
方法一:使用 Homebrew(推荐)
# 安装 Node.js(会自动安装 npm)
brew install node
# 验证安装
node --version
npm --version
预期输出:
v18.x.x 或更高版本
9.x.x 或更高版本
方法二:使用 nvm(Node Version Manager,推荐用于多版本管理)
# 1. 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 2. 重新加载 shell 配置
source ~/.zshrc
# 3. 安装 Node.js LTS 版本
nvm install --lts
# 4. 使用最新 LTS 版本
nvm use --lts
# 5. 验证安装
node --version
npm --version
方法三:直接下载安装
-
访问 Node.js 官网
- 访问:https://nodejs.org/
- 下载 macOS Installer(.pkg)文件
- 选择 LTS 版本(推荐)
-
安装
- 双击下载的
.pkg文件 - 按照安装向导完成安装
- 双击下载的
-
验证安装
node --version
npm --version
安装 pnpm
方法一:使用 npm(推荐)
# 使用 npm 全局安装 pnpm
npm install -g pnpm
# 验证安装
pnpm --version
预期输出:8.x.x 或更高版本
方法二:使用 Homebrew
brew install pnpm
方法三:使用独立安装脚本
curl -fsSL https://get.pnpm.io/install.sh | sh -
安装完成后,重新加载 shell:
source ~/.zshrc
pnpm --version
✅ 完整验证
运行以下命令,确认所有工具都已正确安装:
# 检查 Docker
echo "=== Docker ==="
docker --version
docker ps
# 检查 .NET SDK
echo "=== .NET SDK ==="
dotnet --version
dotnet --list-sdks
# 检查 Node.js
echo "=== Node.js ==="
node --version
npm --version
# 检查 pnpm
echo "=== pnpm ==="
pnpm --version
预期输出示例:
=== Docker ===
Docker version 24.0.6, build ed223bc
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
=== .NET SDK ===
6.0.425
6.0.425 [/usr/local/share/dotnet/sdk]
=== Node.js ===
v18.17.0
9.6.7
=== pnpm ===
8.15.0
🚀 测试构建环境
安装完成后,可以测试构建环境是否正常工作:
# 进入项目目录
cd /Users/gaotu/WebstormProjects/dysync.net
# 测试 Docker 构建(可选,会花费一些时间)
# docker build -f Dockerfile.prod -t dysync.net:test .
# 测试 .NET 项目构建
cd /Users/gaotu/WebstormProjects/dysync.net
dotnet restore
dotnet build
# 测试前端构建
cd /Users/gaotu/WebstormProjects/dysync.net/app
pnpm install
pnpm build
🐛 常见问题
问题 1:Docker Desktop 无法启动
症状:点击 Docker Desktop 后没有反应或报错
解决方案:
- 检查系统要求:macOS 11.0 或更高版本
- 重启 Mac
- 检查是否有其他虚拟化软件冲突(如 VirtualBox)
- 重新安装 Docker Desktop
问题 2:.NET SDK 命令未找到
症状:执行 dotnet --version 提示命令未找到
解决方案:
# 检查 .NET 安装位置
ls -la /usr/local/share/dotnet
# 如果不存在,检查其他可能的位置
which dotnet
# 添加到 PATH(如果使用 zsh)
echo 'export PATH="/usr/local/share/dotnet:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 如果使用 bash
echo 'export PATH="/usr/local/share/dotnet:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
问题 3:pnpm 安装失败
症状:npm install -g pnpm 失败,提示权限错误
解决方案:
# 方法 1:使用 sudo(不推荐)
sudo npm install -g pnpm
# 方法 2:配置 npm 使用其他目录(推荐)
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
npm install -g pnpm
# 方法 3:使用 Homebrew
brew install pnpm
问题 4:M1 芯片兼容性问题
症状:某些工具在 M1 上运行异常
解决方案:
- Docker Desktop:确保使用 Apple Silicon 版本(arm64)
- .NET SDK:.NET 6.0 原生支持 M1,无需特殊配置
- Node.js:使用 nvm 安装时,会自动选择 arm64 版本
问题 5:Homebrew 安装慢或失败
症状:brew install 下载很慢或失败
解决方案:
# 使用国内镜像源(清华大学镜像)
# 替换 Homebrew 源
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git"
# 或使用中科大镜像
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
📚 参考资源
- Docker Desktop for Mac:https://docs.docker.com/desktop/install/mac-install/
- .NET 6.0 下载:https://dotnet.microsoft.com/download/dotnet/6.0
- Node.js 下载:https://nodejs.org/
- pnpm 文档:https://pnpm.io/installation
🎯 下一步
安装完成后,可以开始构建项目:
- 查看构建指南:飞牛NAS详细部署方案.md
- 开始构建镜像:
cd /Users/gaotu/WebstormProjects/dysync.net docker build -f Dockerfile.prod -t dysync.net:latest .
最后更新:2024-11-22
适用系统:macOS(Apple Silicon M1/M2)