開發 ReactNative 的時候遇到的雷

Linux 在開發 RN APP 環境佈置的一些經驗談

Hyman Chen
ReactMaker
4 min readMay 3, 2018

--

我最近在玩 React Native 所以有一些踩到的雷跟大家分享。先講解一下我的基本作業環境是 Ubuntu 16.04,安裝了 openJDK 8。這篇文章主要重點還是在環境配置上,要怎麼在 Linux 環境下面把 APP 跑起來,可以正常 Debug。

使用genymotion模擬器永遠叫不出選單

原本我很習慣用 genymotion 這套模擬器,因為很久以前在開發 android 的時候原生的模擬器很慢,但是發現使用 genymotion 模擬器,Ctrl + M 選單永遠叫不出來,後來我改用 android studio 做模擬器了,沒想到原生的模擬器在 linux 上面跑起來效能還不錯,看來應該是我太久沒有跟上時代了。

改用 android studio 就可以叫出選單了,可喜可賀

安裝完 android studio 但是 avd 那顆按鈕永遠都是灰色的

沒有辦法點一點滑鼠就產生 avd 是多麼痛苦的領悟。

一開始我想用 android studio 上面的 AVD 按鈕來幫助我快速建立模擬器,可是那顆按鈕永遠都是灰色,所以只好使用指令來產生device,但是過了一陣子發現這樣太麻煩的,我找了很久,我使用的 jdk 不是 oracle 的 java 而是 openjdk,後來改回安裝 oracal java 就可以正常顯示了,很玄,我也不知道為什麼,但是就是這樣解決了。

使用 create-react-app 做出來的東西永遠都跳錯誤

我也搞不懂怎麼狂跳這種錯誤

使用 create-react-app 指令做出來的app會用 Expo 這個軟體跑,可是這個軟體就是經常跳出這個死給你看。後來解決方法就是用 react-native 指令來建立 APP。缺點就是不能夠遠端用 QR 條碼實際放到手機上面看看

使用 react-native cli 的時候都會跳出 ENOSPC 的錯誤

時好時壞的錯誤訊息讓我抓破頭皮….

這個錯誤有時候會發生,有時候卻又正常,一開始錯誤都顯示在 node_modules 裡面的套件,我以為套件有問題,重新安裝之後還是沒有辦法解決,後來知道這是 linux 不能夠同時 watch 太多檔案,用下面這行指令修好了。

Debug JS Remotely 打不開

不知道為什麼我每次打開 Debug Mode 的時候就會瀏覽器一片白,然後過兩秒 APP 就會跳紅色視窗了,後來我改用 react-native-debugger 就可以正常 debug 了,先打開 react-native-debugger 然後再開 app 的 Debug JS Remotely 就可以了。

總結

React Native 雖然開發起來很快,但是一開始建立環境的時候都會遇到一些小問題,希望這篇主題可以幫助到一樣是用 ubuntu 開發 RN 的開發者們。

--

--