React Native環境搭建--總結遇見的所有問題!!

Anne起飞记發表於2024-11-29

參考部落格:

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

相關文章