flutter安裝與環境配置
- macOS系統上flutter安裝與環境配置
-
- 添加國内鏡像
- 擷取flutter SDK
- 擷取Android SDK
- 安裝xcode
- flutter安裝和配置過程中的一些錯誤處理
macOS系統上flutter安裝與環境配置
添加國内鏡像
本地目錄~/.bash_profile内,添加flutter國内鏡像(command+shift+.檢視隐藏檔案,如沒有.bash_profile檔案,則建立一個)
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
擷取flutter SDK
1.下載下傳flutter,有兩種方式
官網位址: https://flutter.dev/docs/development/tools/sdk/releases?tab=macos#macos
github位址: https://github.com/flutter/flutter/releases
2.解壓安裝包到你想安裝的目錄,如:
cd ~/development
unzip ~/Downloads/flutter_macos_1.22.4-stable.zip
3.添加flutter相關工具到path中:
- 針對目前指令行視窗設定PATH環境變量
- 永久将Flutter添加到PATH中(推薦),在~/.bash_profile内添加環境變量
注意:
PATH_TO_FLUTTER_GIT_DIRECTORY
為你flutter的路徑,比如“~/development”
4.運作
source $HOME/.bash_profile
重新整理目前終端視窗
5.運作 flutter doctor,檢測flutter SKD是否安裝完成,同時檢視其它安裝項
flutter doctor
擷取Android SDK
1.安裝Android studio,安裝過程中自動安裝Android SDK
官網位址:https://developer.android.com/studio/index.html
Android studio中文社群位址:http://www.android-studio.org
2.在~/.bash_profile内添加Android SDK的環境變量
注意:android sdk目錄,“使用者名”替換為你自己的即可
3.首次安裝同意Android協定
flutter doctor --Android-licenses
4.安裝Android studio plugins,安裝flutter和dart插件
5.運作 flutter doctor,檢測Android SKD是否安裝完成
安裝xcode
1.安裝xcode
官網位址:https://developer.apple.com/download/
2.啟動xcode,打開xcode > Preferences > locations,将Command Line Tools 設定為目前版本的xcode
3.切換路徑
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
4.確定Xcode許可協定是通過打開一次Xcode或通過指令同意過了
sudo xcodebuild -license
5.運作 flutter doctor,檢測xcode是否安裝完成,如需安裝依賴,按提示執行
flutter安裝和配置過程中的一些錯誤處理
環境:(解決錯誤請注意自己的環境和版本資訊)
mac 10.15.7
xcode 12.2
Command Line Tools for Xcode 12.2
Android studio 4.1
1.執行安裝cocoapods時報錯
sudo gem install cocoapods
錯誤資訊:
package configuration for libffi is not found
"xcrun clang -o conftest -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin19 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/backward -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS conftest.c -L. -L/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib -L. -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.Internal.sdk/usr/local/lib -arch x86_64 -lruby.2.6 "
In file included from conftest.c:1:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found
#include "ruby/config.h"
^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: note: did not find header 'config.h' in framework 'ruby' (loaded from '/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks')
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5: return 0;
6: }
/* end */
問題目錄:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin19
問題原因:
安裝需要的檔案名,與自己系統内的檔案名不一緻
解決辦法:
- 檢視自己電腦該路徑下是universal-darwin20
- 拷貝檔案universal-darwin20,并重命名為universal-darwin19
- 或者執行指令,建立軟連接配接
ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin20 /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0/universal-darwin19
2.flutter doctor提示Android studio沒有安裝flutter、dart插件,實際已經安裝
問題原因:
在Android studio 4.1中plugin目錄發生了變化
解決辦法:
- 用下面的指令軟連結一下目錄
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
3.flutter項目運作卡在Running Gradle task ‘assembleDebug’
問題原因:
由于網絡無法通路到Google服務引起的
鏡像連結:
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
解決辦法:
- 找到Flutte SDK目錄下的Flutter打包配置檔案flutter.gradle,路徑為flutter\packages\flutter_tools\gradle\flutter.gradle,或者目前項目.flutter\packages\flutter_tools\gradle\flutter.gradle
- 修改Flutter項目下的.android下的build.gradle,路徑為.android/build.gradle