React Native环境搭建--总结遇见的所有问题!!
参考博客:
超详细React Native环境搭建以及运行项目(Windows环境)_react-native 0.59环境-CSDN博客
'react-native' 不是内部或外部命令,也不是可运行的程序 或批处理文件。_react-native' 不是内部或外部命令,也不是可运行的程序-CSDN博客
npm安装依赖超时,报错npm error code ECONNRESET_npm error code econnreset npm error syscall read n-CSDN博客
React Native 绑定夜神模拟器进行调试_react-native绑定模拟器-CSDN博客 --》需要做的:为了保持安装的 Android sdk 版本与 夜神模拟器的 sdk 版本一致!
vscode 连接夜神模拟器 运行 react native项目 (很简单的方法)_vscode连接夜神模拟器-CSDN博客 --》使用adb服务,启动并连接夜神服务
---------------------------------------------------------------------------------------------
①安装node ②在node_modules同级下新建node_cahe、node_global ③执行npm config set prefix (进node_global上面显示的路径)、npm config set cache (进node_cache上面显示的路径) 【最好用管理员模式、否则设置了不起作用,安装包的时候报目录设置错误】 ④设置环境变量: 系统变量:新建NODE_PATH(进node_global下的node_modules上面显示的路径)、并在path中添加路径(进nodejs的)、、 用户变量:将变量【path】中的C:\Users\用户名\AppData\Roaming\npm改为node_global上面显示的路径) ⑤测试:运行node -v、npm -v 安装npm install express -g可在全局模块包目录看到 卸载重新安装新版本node步骤:①控制面板卸载 ②删除安装目录文件夹、安装下载的数据包
开启模拟器,进行连接(根据你目录路径,运行命令)
F:\AndroidSDK\platform-tools>adb.exe connect 127.0.0.1:62001
D:\Program Files\Nox\bin>nox_adb.exe connect 127.0.0.1:62001
D:\Program Files\Nox\bin>adb devices
List of devices attached
127.0.0.1:62001 device
能看到就是连接好了,使用react-native run-andriod,启动项目(首次使用,会打包下载安装到模拟器)
后续使用:npm start 启动项目
---------------------------------------------------------------------------------------------------------
运行react-native项目需要安装一个识别命令的工具包npm install -g react-native-cli
遇到的问题及解决方法:
vscode控制台报错
1. vscode报错:react-native : 无法将“react-native”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
--安装npm install -g react-native-cli
2. 安装cli包时失败:network request to https://registry.npmjs.org/react-native-cli failed, reason: read ECONNRESET
--如果没有代理,更换镜npm config set registry https://registry.npmmirror.com/
3.vscode报错:SyntaxError: Unexpected token ;
说明版本不兼容,读取不了某些语句--解决:升级node版本
4.vscode报错:无法加载文件;
更改执行策略 打开powershell以管理员身份运行--Get-ExecutionPolicy、Set-ExecutionPolicy RemoteSigned -Scope CurrentUser--重新运行命令
5.vscode报错:C:\Users\ XXX,gradle构件错误--项目路径包含非 ASCII 字符
更改项目存放位置,要求放在非中文路径下
6.vscode报错:adb server version (36) doesn't match this client (41); killing...adb服务端版本(36)和客户端版本(41)不匹配,这可能导致通信问题。之后adb.exe: device '127.0.0.1:62001' not found反复出现
sdk目录下的adb.exe复制并重复名为nox_adb.exe,放到nox的bin目录下替换掉原来的
安装依赖时出错:
① 451 Unavailable For Legal Reasons - GET https://registry.npmmirror.com/
更换镜像:npm config set registry https://registry.npmjs.org/
②not permitt
更改cache目录下文件完全控制权
夜神模拟器报错:
1.500-Metro has encountered an error: Cannot read properties of undefined (reading 'transformFile')
检查metro和babel相关的依赖项是否安装正确且版本兼容:
npm list metro
npm list babel
(因为 Metro 通常与 Babel 一起使用进行代码转换)--缺少则npm install metro - core metro - runtime、npm install @babel/core @babel/preset - env @babel/preset - react--》
500metro版本不兼容问题,不用装它了,直接重装能识别它的node版本,我这同事运行的是node16.17版本
【下载node16.17版本的地址】:https://nodejs.org/dist/v16.17.0/
总结:node版本要对,提前确定一下同事能运行项目的版本号。