Skip to content

一键修复环境脚本

环境常见问题排查

为了帮助开发者快速解决 React Native 环境问题,我们可以创建一个一键修复环境脚本。这个脚本可以自动检查和修复常见的环境问题,节省开发者的时间和精力。

1. 创建修复脚本

Windows 系统脚本

  1. 创建修复脚本文件

    • 在任意位置创建一个名为 fix-rn-env.bat 的文件
  2. 编辑脚本内容

    • 复制以下内容到 fix-rn-env.bat 文件中:
      batch
      @echo off
      echo ========================================
      echo React Native 环境修复脚本(Windows)
      echo ========================================
      
      REM 检查 Node.js
      echo 检查 Node.js 版本...
      node -v
      if %errorlevel% neq 0 (
          echo 错误:Node.js 未安装,请先安装 Node.js
          pause
          exit /b 1
      )
      
      REM 检查 npm
      echo 检查 npm 版本...
      npm -v
      if %errorlevel% neq 0 (
          echo 错误:npm 未安装
          pause
          exit /b 1
      )
      
      REM 检查 Git
      echo 检查 Git 版本...
      git --version
      if %errorlevel% neq 0 (
          echo 警告:Git 未安装,建议安装 Git
      )
      
      REM 检查 JDK
      echo 检查 JDK 版本...
      java -version
      if %errorlevel% neq 0 (
          echo 警告:JDK 未安装,Android 开发需要 JDK
      )
      
      REM 检查 Android SDK
      echo 检查 Android SDK...
      if not defined ANDROID_HOME (
          echo 警告:ANDROID_HOME 环境变量未设置
      ) else (
          echo ANDROID_HOME: %ANDROID_HOME%
          if exist "%ANDROID_HOME%\platform-tools\adb.exe" (
              echo adb 存在
          ) else (
              echo 警告:adb 不存在,请检查 Android SDK 安装
          )
      )
      
      REM 检查 Expo CLI
      echo 检查 Expo CLI 版本...
      npm list -g expo-cli > nul 2>&1
      if %errorlevel% neq 0 (
          echo 安装 Expo CLI...
          npm install -g expo-cli
      ) else (
          expo --version
      )
      
      REM 检查 React Native CLI
      echo 检查 React Native CLI 版本...
      npm list -g react-native-cli > nul 2>&1
      if %errorlevel% neq 0 (
          echo 安装 React Native CLI...
          npm install -g react-native-cli
      ) else (
          react-native --version
      )
      
      REM 配置 npm 镜像
      echo 配置 npm 镜像...
      npm config set registry https://registry.npmmirror.com/
      echo npm 镜像已设置为 https://registry.npmmirror.com/
      
      REM 清除 npm 缓存
      echo 清除 npm 缓存...
      npm cache clean --force
      
      echo ========================================
      echo 环境修复完成!
      echo ========================================
      pause
  3. 运行脚本

    • 以管理员身份运行 fix-rn-env.bat

Mac 系统脚本

  1. 创建修复脚本文件

    • 在任意位置创建一个名为 fix-rn-env.sh 的文件
  2. 编辑脚本内容

    • 复制以下内容到 fix-rn-env.sh 文件中:
      bash
      #!/bin/bash
      echo "======================================="
      echo "React Native 环境修复脚本(Mac)"
      echo "======================================="
      
      # 检查 Node.js
      echo "检查 Node.js 版本..."
      node -v
      if [ $? -ne 0 ]; then
          echo "错误:Node.js 未安装,请先安装 Node.js"
          exit 1
      fi
      
      # 检查 npm
      echo "检查 npm 版本..."
      npm -v
      if [ $? -ne 0 ]; then
          echo "错误:npm 未安装"
          exit 1
      fi
      
      # 检查 Git
      echo "检查 Git 版本..."
      git --version
      if [ $? -ne 0 ]; then
          echo "警告:Git 未安装,建议安装 Git"
      fi
      
      # 检查 Watchman
      echo "检查 Watchman 版本..."
      watchman --version
      if [ $? -ne 0 ]; then
          echo "安装 Watchman..."
          brew install watchman
      fi
      
      # 检查 Xcode
      echo "检查 Xcode 版本..."
      xcodebuild -version
      if [ $? -ne 0 ]; then
          echo "警告:Xcode 未安装,iOS 开发需要 Xcode"
      fi
      
      # 检查 Android SDK
      echo "检查 Android SDK..."
      if [ -z "$ANDROID_HOME" ]; then
          echo "警告:ANDROID_HOME 环境变量未设置"
      else
          echo "ANDROID_HOME: $ANDROID_HOME"
          if [ -f "$ANDROID_HOME/platform-tools/adb" ]; then
              echo "adb 存在"
          else
              echo "警告:adb 不存在,请检查 Android SDK 安装"
          fi
      fi
      
      # 检查 Expo CLI
      echo "检查 Expo CLI 版本..."
      if ! npm list -g expo-cli > /dev/null 2>&1; then
          echo "安装 Expo CLI..."
          npm install -g expo-cli
      else
          expo --version
      fi
      
      # 检查 React Native CLI
      echo "检查 React Native CLI 版本..."
      if ! npm list -g react-native-cli > /dev/null 2>&1; then
          echo "安装 React Native CLI..."
          npm install -g react-native-cli
      else
          react-native --version
      fi
      
      # 配置 npm 镜像
      echo "配置 npm 镜像..."
      npm config set registry https://registry.npmmirror.com/
      echo "npm 镜像已设置为 https://registry.npmmirror.com/"
      
      # 清除 npm 缓存
      echo "清除 npm 缓存..."
      npm cache clean --force
      
      echo "======================================="
      echo "环境修复完成!"
      echo "======================================="
  3. 运行脚本

    • 打开终端
    • 导航到脚本所在目录
    • 运行以下命令:
      bash
      chmod +x fix-rn-env.sh
      ./fix-rn-env.sh

2. 脚本功能说明

检查功能

  • Node.js:检查 Node.js 是否安装
  • npm:检查 npm 是否安装
  • Git:检查 Git 是否安装
  • JDK(Windows):检查 JDK 是否安装
  • Watchman(Mac):检查 Watchman 是否安装
  • Xcode(Mac):检查 Xcode 是否安装
  • Android SDK:检查 Android SDK 是否安装,以及 ANDROID_HOME 环境变量是否设置
  • Expo CLI:检查 Expo CLI 是否安装
  • React Native CLI:检查 React Native CLI 是否安装

修复功能

  • 安装缺失的工具:自动安装缺失的 Expo CLI 和 React Native CLI
  • 配置 npm 镜像:设置 npm 镜像为国内镜像,提高下载速度
  • 清除 npm 缓存:清除 npm 缓存,解决依赖安装问题

3. 使用建议

何时使用

  • 首次搭建环境:在首次搭建 React Native 开发环境时使用
  • 环境出现问题:当开发环境出现问题时使用
  • 项目启动失败:当项目无法启动时使用
  • 定期维护:定期运行脚本,确保环境保持最佳状态

注意事项

  • 管理员权限:Windows 系统需要以管理员身份运行脚本
  • 网络连接:确保网络连接正常,以便下载依赖
  • 时间消耗:首次运行脚本可能需要较长时间,因为需要下载和安装依赖
  • 手动检查:脚本只能修复常见问题,复杂问题可能需要手动处理

4. 自定义脚本

你可以根据自己的需求自定义脚本,例如:

  • 添加更多的检查项
  • 添加特定项目的依赖检查
  • 添加自动更新功能
  • 添加错误处理和日志记录

5. 总结

一键修复环境脚本是解决 React Native 环境问题的有效工具。通过运行这个脚本,你可以快速检查和修复常见的环境问题,节省开发时间,提高开发效率。

当然,脚本不能解决所有问题,但它可以处理大多数常见的环境问题,为你的 React Native 开发之旅提供帮助。

至此,我们已经完成了 React Native 开发环境的搭建和问题排查。在接下来的教程中,我们将开始学习 React 基础,这是 React Native 开发的重要基础。

© 2026 编程马·菜鸟教程 版权所有