[Flutter]Flutter for Webを試すために、dev channelのSDKを共存させた話

スポンサーリンク

Flutter for Webは、現在、beta版で試すことができます。
Stable環境を変更したくなかったので、beta版を共存させました。

Web support for Flutter
Details of how Flutter supports the creation of web experiences.

Warning: As of 1.12, web support is available on the beta channel. If you experience a problem that hasn’t yet been reported, please file an issue and make sure that “web” appears in the title.

dev channelのSDK共存手順

前提

  • Windows10
  • Flutter Stable環境はすでに構築済み(C:\ 直下)(雑

参考

Using two or more different versions of Flutter in single machine
You might have encountered a situation where different versions of Flutter is required to test or build application with different…

dev channelのSDKを任意の場所に格納する

前提にも書いた、Stable環境がある C:\ 直下に置きました。
C:\flutter
C:\flutter_dev ← New

今回、gitを使ってではなく、以下からzipでダウンロードしています。
https://flutter.dev/docs/development/tools/sdk/releases

Aliasesを生成して、batファイルを作る

C:\Aliases\flutterd.bat

中身はこんな感じ

@echo off
C:\flutter_dev\bin\flutter %*

Aliasesのパスを通す

以下でも行けるらしいですが、自分は、システムの詳細設定→詳細設定→環境変数のPATHに追記する手順で行いました。

setx /M path "%PATH%;C:\Aliases\"

flutterd doctorでチェックする

Stableが既にあるので、大抵は問題ないと思います。
それより環境変数が反映されなくて、確認してしまった。けど単に、Windows再起動すればよかっただけだった。

flutterd doctor

Flutter for Webを試して、NoSuchMethodErrorが出た。

手順は、公式通り
https://flutter.dev/docs/get-started/web

> flutterd create myapp> cd myapp

> flutterd.bat run -d chrome
Downloading Web SDK...                                              3.4s
Launching lib\main.dart on Chrome in debug mode...
Building application for the web...                                46.4s
Attempting to connect to browser instance..                            |ERROR - 2020-02-05 15:43:34.807515
GET /dwds/src/injected/client.js
Error thrown by handler.
NoSuchMethodError: The method 'toFilePath' was called on null.
Receiver: null
Tried calling: toFilePath()
dart:core                                                  Object.noSuchMethod
package:dwds/src/handlers/injected_handler.dart 36:39      createInjectedHandler.<fn>.<fn>
===== asynchronous gap ===========================
package:flutter_tools/src/build_runner/web_fs.dart 240:30  WebFs.start.<fn>.<fn>

(This is taking an unexpectedly long time.)

エラー内容を追う前に、
Android Studioで起動して、
Flutter SDKのパスを設定して(これって勝手に設定されると思っていたけど、設定されていなかった)、
"flutter pub get"して、
ビルドしたら、
大丈夫でした。なんでや。

なお、Flutter SDKのパスを設定場所は以下です。
File > Settings >Languages & Frameworks > Flutter > Flutter SDK path

コメント

タイトルとURLをコピーしました