參考部落格:
超詳細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版本要對,提前確定一下同事能執行專案的版本號。