Flutter for Webは、現在、beta版で試すことができます。
Stable環境を変更したくなかったので、beta版を共存させました。
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:\ 直下)(雑
参考
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
コメント