标签: 开发环境

  • macOS Web 全栈开发环境安装文档

    适用环境:

    • macOS 26.4.1
    • x86_64
    • 默认 shell 为 zsh
    • 目标环境为 Web 全栈常用完整版

    目标:

    • 安装并启用 Xcode Command Line Tools
    • 安装 Homebrew
    • 配置国内镜像
    • 安装 Node.js LTS、pnpmuv、独立 Python
    • 安装 VS Code CLI、Docker Desktop
    • 安装并启动 PostgreSQL、Redis

    一键安装命令

    把下面整段复制到终端执行:

    set -e
    
    # 1) 激活 Command Line Tools
    sudo xcode-select --switch /Library/Developer/CommandLineTools
    xcode-select -p
    
    # 2) 安装 Homebrew(官方脚本,默认 /usr/local)
    NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    # 3) 写入 shell 初始化
    mkdir -p "$HOME/bin" "$HOME/.config/pip"
    touch "$HOME/.zprofile" "$HOME/.zshrc"
    
    grep -q 'brew shellenv' "$HOME/.zprofile" || cat >> "$HOME/.zprofile" <<'EOF'
    export PATH="$HOME/bin:$PATH"
    if [ -x /usr/local/bin/brew ]; then
      eval "$(/usr/local/bin/brew shellenv)"
    fi
    EOF
    
    grep -q 'NPM_CONFIG_REGISTRY' "$HOME/.zshrc" || cat >> "$HOME/.zshrc" <<'EOF'
    export PATH="$HOME/bin:$PATH"
    export NPM_CONFIG_REGISTRY="https://registry.npmmirror.com"
    export PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
    export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"
    
    if [ -x /usr/local/bin/brew ]; then
      eval "$(/usr/local/bin/brew shellenv)"
    fi
    
    if command -v fnm >/dev/null 2>&1; then
      eval "$(fnm env --use-on-cd)"
    fi
    EOF
    
    cat > "$HOME/.npmrc" <<'EOF'
    registry=https://registry.npmmirror.com
    EOF
    
    cat > "$HOME/.config/pip/pip.conf" <<'EOF'
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    EOF
    
    source "$HOME/.zprofile"
    source "$HOME/.zshrc"
    
    # 4) 安装 CLI / 运行时 / 数据库
    brew update
    brew install git wget jq ripgrep fd tree fnm uv python postgresql redis
    
    # 5) Node LTS + pnpm
    eval "$(fnm env --use-on-cd)"
    fnm install --lts
    fnm default lts-latest
    fnm use default
    corepack enable
    corepack prepare pnpm@latest --activate
    
    # 6) 提供 python / pip 入口(避免依赖系统 Python)
    ln -sf "$(brew --prefix)/bin/python3" "$HOME/bin/python"
    ln -sf "$(brew --prefix)/bin/pip3" "$HOME/bin/pip"
    
    # 7) VS Code CLI
    if [ ! -d "/Applications/Visual Studio Code.app" ]; then
      brew install --cask visual-studio-code
    fi
    ln -sf "/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code" "$HOME/bin/code"
    
    # 8) Docker Desktop
    if [ ! -d "/Applications/Docker.app" ]; then
      brew install --cask docker
    fi
    open -a Docker
    
    # 9) 启动本地数据库服务
    brew services start postgresql
    brew services start redis
    
    # 10) 验收
    brew doctor
    git --version
    fnm --version
    node -v
    pnpm -v
    uv --version
    python --version
    pip --version
    code --version
    psql --version
    redis-cli ping
    brew services list
    
    echo
    echo "Docker Desktop 正在启动。等桌面端完全起来后,再手动跑这两条:"
    echo "docker version"
    echo "docker compose version"

    安装说明

    • sudo xcode-select --switch ... 会要求输入 macOS 管理员密码,这是正常现象。
    • open -a Docker 只负责打开 Docker Desktop,真正就绪通常还需要几十秒。
    • 这份方案默认使用国内镜像:
      • npm/pnpmhttps://registry.npmmirror.com
      • pip/uv:清华 PyPI 镜像

    安装完成后建议复核

    在 Docker Desktop 完全启动后,再运行:

    docker version
    docker compose version

    如果要把结果发给我继续验收,优先提供下面几组输出:

    brew doctor
    node -v && pnpm -v
    uv --version && python --version
    docker version && docker compose version
    brew services list
    redis-cli ping
  • 解决 Git Author Identity Unknown 错误:macOS 开发环境配置完整指南

    解决 Git Author Identity Unknown 错误:macOS 开发环境配置完整指南

    在日常开发中,Git 是我们不可或缺的版本控制工具。然而,很多开发者(包括我自己)在新环境或新项目中经常会遇到 Author identity unknown 错误。本文将详细介绍这个问题的完整解决方案。

    问题现象

    当你尝试提交代码时,可能会看到以下错误信息:

    Author identity unknown
    
    *** Please tell me who you are.
    
    Run
    
      git config --global user.email "you@example.com"
      git config --global user.name "Your Name"
    
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    
    fatal: no email was given and auto-detection is disabled

    同时,在 IDE 或 Git 客户端中还可能看到类似这样的日志:

    • No such branch: main
    • bad revision 'refs/heads/main'
    • your current branch 'main' does not have any commits yet

    根本原因分析

    这个问题通常由以下几个原因导致:

    1. Git 用户身份未配置:这是最常见的原因,Git 不知道以谁的身份进行提交
    2. 仓库状态异常:新初始化的仓库没有初始提交
    3. 分支引用问题:分支尚未正确建立或引用丢失

    完整解决方案

    第一步:配置 Git 全局用户身份

    # 设置全局用户名和邮箱
    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱@example.com"
    
    # 验证配置是否成功
    git config --global user.name
    git config --global user.email

    第二步:检查仓库状态

    # 进入项目目录
    cd /path/to/your/project
    
    # 检查当前状态
    git status
    
    # 查看提交历史
    git log --oneline -n 5

    第三步:处理新仓库的初始提交

    如果你的仓库是新创建的,需要进行初始提交:

    # 添加所有文件
    git add .
    
    # 进行初始提交
    git commit -m "feat: initial commit"

    第四步:验证提交功能

    测试 Git 提交是否正常工作:

    # 创建测试文件
    echo "# Test" >> README.md
    
    # 添加并提交
    git add README.md
    git commit -m "test: verify git commit works"
    
    # 如果只是测试,可以回滚
    git reset --hard HEAD~1

    最佳实践建议

    1. 全局配置 vs 本地配置

    • 全局配置:适用于个人开发环境,所有项目使用相同的身份

      git config --global user.name "mhl"
      git config --global user.email "656691922@qq.com"
    • 本地配置:适用于工作项目,不同项目使用不同身份

      # 在特定项目目录中执行
      git config user.name "Work Name"
      git config user.email "work@company.com"

    2. 配置查看和管理

    # 查看所有配置
    git config --list
    
    # 查看特定配置
    git config user.name
    git config user.email
    
    # 删除配置
    git config --unset user.name

    3. 常见陷阱避免

    • 不要混淆全局和本地配置:确保在正确的层级设置配置
    • 邮箱格式正确:确保邮箱地址格式正确,避免特殊字符问题
    • 及时验证:配置后立即测试提交功能

    故障排除

    如果按照上述步骤仍然遇到问题,请检查:

    1. Git 版本:确保使用较新版本的 Git

      git --version
    2. 权限问题:确保有权限写入 .gitconfig 文件

      ls -la ~/.gitconfig
    3. 环境变量:某些 CI/CD 环境可能覆盖 Git 配置

    总结

    Author identity unknown 错误虽然简单,但却是 Git 使用中最常见的入门问题之一。通过正确配置用户身份信息,我们可以避免这个错误,并确保提交历史的完整性和可追溯性。

    记住,良好的 Git 配置习惯不仅能避免错误,还能提高团队协作效率。建议在新开发环境搭建时,第一时间完成 Git 基础配置。


    相关标签:Git, macOS, 开发环境, 版本控制, 故障排除