React Native在Ubuntu16下開發,環境安裝期間遇到的問題
最近去了一家公司,採用的是React Native開發App。公司是在windows環境下開發的,環境也有人配好了。自己回家準備在linux下搞開發,裝環境才知道坑一大堆。下面是我遇到的一系列問題:
1.react-native run-android throw new TypeError(‘invalid data’); TypeError: invalid data at WriteStream.Socket.write (net.js:617:11)
這個錯誤是由於linux檔案許可權問題造成的(windows沒報這個錯),主要是一個檔案沒有執行許可權,命令:
chmod + x node_modules/react-native/local-cli/setup_env.sh
執行命令時注意路徑是否正確。
附上這個問題在github的地址:
2.android/gradlew 執行許可權
上一步完成後,執行react-native run-android,發現並沒有開始編譯執行,反而直接報錯:>Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have>
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html
這個錯誤很扯淡,我第一反應是檢查裝置是否線上
adb devices
裝置正常(注意授權),我就奇怪了,命令裡有提示cd android && ./gradlew installDebug。然後我就cd到android目錄下,檢查了一下gradlew檔案,沒有執行許可權,chmod +x gradlew 即可 ,再次執行react-native run-android,開始正常編譯。
3.Could not resolve all dependencies for configuration ‘:app:_debugApk’
最大的坑,沒有之一,問題很複雜,只要settings.gradle 、build.gradle檔案不出錯,一般情況是缺少android support respository,用android sdk manager下載就行。關鍵步驟來了,如果下載好了依然編譯失敗,最好把專案清理一下。我就是下載之後,一直報這個錯:
A problem occurred configuring project ‘:app’.
Could not resolve all dependencies for configuration ‘:app:_debugApk’.
Configuration with name ‘default’ not found.
為了解決這個錯,我花了好大功夫,依然失敗了。後面,我想會不會是因為之前編譯失敗的檔案一直在影響呢。於是我把專案刪掉,重新解壓,沒想到直接編譯成功。
4.有時會報SDK路徑錯誤,或者找不到SDK
我是配置在android/app 目錄下的local.properties檔案裡配置的
sdk.dir = sdk的路徑