開發 ReactNative 的時候遇到的雷
Linux 在開發 RN APP 環境佈置的一些經驗談
我最近在玩 React Native 所以有一些踩到的雷跟大家分享。先講解一下我的基本作業環境是 Ubuntu 16.04,安裝了 openJDK 8。這篇文章主要重點還是在環境配置上,要怎麼在 Linux 環境下面把 APP 跑起來,可以正常 Debug。
使用genymotion模擬器永遠叫不出選單
原本我很習慣用 genymotion 這套模擬器,因為很久以前在開發 android 的時候原生的模擬器很慢,但是發現使用 genymotion 模擬器,Ctrl + M 選單永遠叫不出來,後來我改用 android studio 做模擬器了,沒想到原生的模擬器在 linux 上面跑起來效能還不錯,看來應該是我太久沒有跟上時代了。
安裝完 android studio 但是 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 太多檔案,用下面這行指令修好了。
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Debug JS Remotely 打不開
不知道為什麼我每次打開 Debug Mode 的時候就會瀏覽器一片白,然後過兩秒 APP 就會跳紅色視窗了,後來我改用 react-native-debugger 就可以正常 debug 了,先打開 react-native-debugger 然後再開 app 的 Debug JS Remotely 就可以了。
總結
React Native 雖然開發起來很快,但是一開始建立環境的時候都會遇到一些小問題,希望這篇主題可以幫助到一樣是用 ubuntu 開發 RN 的開發者們。