天天看點

macOS系統上flutter安裝與環境配置macOS系統上flutter安裝與環境配置

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
    macOS系統上flutter安裝與環境配置macOS系統上flutter安裝與環境配置
  • 修改Flutter項目下的.android下的build.gradle,路徑為.android/build.gradle
    macOS系統上flutter安裝與環境配置macOS系統上flutter安裝與環境配置