1. mkosuke

    Posted

    mkosuke
Changes in title
+Flutterの環境構築
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,128 @@
+Google I/O 2018に向けて、Flutterの環境構築を行った時のメモを残しておきます。
+
+## 開発環境
+mac High Sierra(10.13.4)
+
+## Flutterのinstall
+Flutterを任意の場所にgitからcloneします
+
+```terminal
+$ git clone -b beta https://github.com/flutter/flutter.git
+```
+
+pathを通す
+
+```terminal
+$ export PATH=`pwd`/flutter/bin:$PATH
+```
+
+## 必要なライブラリのセットアップ
+flutterの開発環境について確認します
+
+```terminal
+$ flutter doctor
+```
+
+私の環境では以下のような出力が行われました。
+
+```terminal
+[✓] Flutter (Channel beta, v0.3.1, on Mac OS X 10.13.4 xxxx, locale ja-JP)
+[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
+ ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
+[!] iOS toolchain - develop for iOS devices
+ ✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
+ Download at: https://developer.apple.com/xcode/download/
+ Or install Xcode via the App Store.
+ Once installed, run:
+ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
+ ✗ libimobiledevice and ideviceinstaller are not installed. To install, run:
+ brew install --HEAD libimobiledevice
+ brew install ideviceinstaller
+ ✗ ios-deploy not installed. To install:
+ brew install ios-deploy
+ ✗ CocoaPods not installed.
+ CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
+ Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
+ For more info, see https://flutter.io/platform-plugins
+ To install:
+ brew install cocoapods
+ pod setup
+[✓] Android Studio (version 3.1)
+ ✗ Flutter plugin not installed; this adds Flutter specific functionality.
+ ✗ Dart plugin not installed; this adds Dart specific functionality.
+[!] Connected devices
+ ! No devices available
+
+! Doctor found issues in 3 categories.
+```
+
+「✗」がついた部分を順に解決していきます。
+
+### iOS
+
+※Android toolchainは後述します
+
+```terminal
+Xcode installation is incomplete; a full installation is necessary for iOS development.
+ Download at: https://developer.apple.com/xcode/download/
+ Or install Xcode via the App Store.
+ Once installed, run:
+ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
+```
+
+XcodeをDownloadしてxcode-selectをしろと言われています。私はbeta版をDL済みでしたので以下のコマンドを実行しました。
+
+```terminal
+$ sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer/
+```
+
+その後、出力されたとおりに以下のコマンドを実行しました。
+
+```terminal
+$ brew install --HEAD libimobiledevice
+$ brew install ideviceinstaller
+$ brew install ios-deploy
+$ brew install cocoapods
+$ pod setup
+```
+
+### Android
+
+下記の出力ですが、Android StudioでPluginをインストールすればOKです。
+
+```terminal
+✗ Flutter plugin not installed; this adds Flutter specific functionality.
+✗ Dart plugin not installed; this adds Dart specific functionality.
+```
+
+Android Studio > Preferences > Plugins
+- [Install JetBrains plugin]から[Dart]をインストール
+- [Browse Repositories]から[Flutter]をインストール
+
+次にライセンスの解決を行います。
+
+```terminal
+$ flutter doctor --android-licenses
+```
+
+実行すると色々聞かれますが、ひたすら「y」(yes)と入力してください。
+
+### 再実行
+
+ここまでできたら一度flutter doctorを実行すると、以下の出力がされました。
+
+```terminal
+[!] iOS toolchain - develop for iOS devices (Xcode 9.4)
+ ✗ Missing Xcode dependency: Python module "six".
+ Install via 'pip install six' or 'sudo easy_install six'.
+```
+
+私はpython未インストールのため、以下のコマンドを実行しました。 
+
+```terminal
+$ brew reinstall python@2
+$ pip install six
+```
+
+ここで再度flutter doctorを実行すると、私の環境では全ての警告が解消しました。
+(No devices availableにはなっていますが。)