#1 Dartで学ぶ環境構築の基本
Dartは、Googleが開発した言語で、スマートフォンアプリ開発フレームワーク「Flutter」の登場によって一気に知名度が上がりました。この記事では、Dartを学ぶための環境構築を、実際につまずきやすいポイントやエラーメッセージへの対処法も含めて詳しく解説します。
Dart単体でのインストール
Dartだけを学びたい場合は、公式サイト(dart.dev)からDart SDKをインストールします。Windowsならインストーラーやパッケージマネージャー(Chocolateyなど)、Macなら Homebrew を使う方法が一般的です。インストール後、次のコマンドでバージョンを確認しましょう。
dart --version
ここで「Dart SDK version: 3.x.x」のような表示が出れば成功です。もし何も表示されずエラーになる場合は、次の「よくあるエラー」を確認してください。
よくあるエラーとその対処法
環境構築でつまずく人の多くは、SDK自体のインストールに失敗しているのではなく、「インストールはできているのに、ターミナルからコマンドが認識されない」という状態にはまっています。代表的な例を挙げます。
- Windowsで「'dart' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」と出る
これは、Dart SDKをインストールしたフォルダの中のbinディレクトリ(例:C:\dart-sdk\bin)が、OSの「PATH」という設定に登録されていないために起きます。PATHとは、OSが「コマンドを打ったときにどのフォルダの中を探しにいくか」を記録したリストのようなものです。インストーラーによっては自動でPATHに追加してくれますが、手動で解凍しただけの場合は自分でPATHに追加する必要があります。追加後は、開いていたターミナル(コマンドプロンプトやPowerShell)を一度閉じて開き直すのがポイントです。開きっぱなしのターミナルには新しいPATH設定が反映されません。 - MacやLinuxで「dart: command not found」と出る
理屈はWindowsと同じで、PATHが通っていない状態です。Homebrewでインストールした場合は自動でPATHが通ることが多いですが、SDKをzipで手動ダウンロードした場合は、シェルの設定ファイル(.zshrcや.bash_profileなど)に自分でパスを追記し、ターミナルを再起動する必要があります。 - pub get(パッケージ取得)のときに「version solving failed」と出る
これはDartのSDKバージョンと、使おうとしているパッケージが要求するSDKバージョンが噛み合っていないときに出るエラーです。「Because myapp requires SDK version >=3.0.0 <4.0.0, version solving failed.」のような文言が表示されたら、インストールしているDart SDKが古い(または新しすぎる)可能性があります。dart --versionで現在のバージョンを確認し、SDKを更新することでたいてい解決します。 - エディタ上で「Could not find dart in your PATH」「Dart SDK が見つかりません」と出る
これはターミナルではdart --versionが通るのに、エディタ(VS Codeなど)の拡張機能がSDKの場所を認識できていないケースです。多くの場合、エディタを再起動する、あるいは拡張機能の設定でSDKのインストール先フォルダを手動指定することで直ります。
Flutterとセットで学ぶ場合
将来的にスマートフォンアプリ開発まで見据えている場合は、最初から「Flutter SDK」をインストールする方法もあります。Flutter SDKには、Dartの実行環境がまとめて含まれているため、別途Dartだけをインストールする必要はありません。どちらから始めるか迷ったら、「アプリを作りたいか」を基準に選ぶとよいでしょう。文法や基本的な考え方を先にじっくり学びたい人はDart単体から、手を動かしながらアプリの形を早く見たい人はFlutter SDKから始めるのがおすすめです。
ファイルを実行してみる
拡張子`.dart`のファイルを用意し、次のコマンドで実行します。
dart run ファイル名.dart
コンパイルの手間を意識せず、その場で実行結果を確認できる手軽さがあります。なお、外部パッケージを使うプログラムの場合は、あらかじめdart pub getを実行してパッケージを取得しておく必要があります。これを忘れたまま実行すると、パッケージが見つからない旨のエラーが出ますので、「importしたのに動かない」と感じたらまずpub getを実行したかどうかを疑ってみてください。
DartPadというブラウザ上の実験場
環境構築の前に、まずDartの雰囲気だけ知りたいという場合は、「DartPad」というブラウザ上で動く公式のお試し環境も用意されています。インストール不要でコードを試せるので、学習を始める前の下見に最適です。「そもそも自分に合う言語か確かめたい」という段階の人には、いきなりSDKを入れるよりもこちらから触ってみることをおすすめします。
Dartならではの注意点
Dartは元々ブラウザ向けの言語として開発された歴史があり、その後スマートフォンアプリ開発向けに大きく方向転換したという珍しい経緯を持っています。そのため学習情報を検索すると、古い時代の使い方(ブラウザ向け)の情報が混ざっていることがあります。Flutterと組み合わせた比較的新しい情報を中心に参照すると、混乱を避けられます。
つまずきやすいポイント・よくある質問(FAQ)
Q. DartとFlutterって結局どう違うの?
Dartは「プログラミング言語」そのもので、FlutterはそのDartを使って作られた「アプリ開発用のフレームワーク(部品セット)」です。料理に例えると、Dartが「調理技術」、Flutterが「その技術を使うためのレシピ集と道具一式」のようなイメージです。Flutterのコードも中身はDartで書かれているため、Flutterを使うにも最低限のDartの文法理解が必要になります。
Q. アプリを作る予定がないのに、Dart単体で学ぶ意味はある?
あります。Dartは型のある書き方としっかりした構文を持っているため、変数や関数、クラスといったプログラミングの基本概念を学ぶ教材として十分な力を持っています。「いきなりFlutterのアプリ開発に進むのは難しそう」と感じる場合は、まずDart単体で基礎文法に慣れてから、Flutterに進むという順番も無理がありません。
Q. エディタは何を使えばいい?
特に強いこだわりがなければ、VS CodeにDart用の公式拡張機能を入れる組み合わせが、情報量の多さや軽快さの面で扱いやすいという声をよく見かけます。すでにAndroid Studioに慣れている人であれば、そちらにDart/Flutterプラグインを入れる形でも問題ありません。最終的には「エラー箇所を分かりやすく教えてくれるか」「自分が触っていてストレスが少ないか」を基準に、合うものを選ぶのがよいと思います。
Q. インストールしたのにバージョンがすごく古い(または表示がおかしい)
過去に別の方法(古いインストーラーや別のパッケージマネージャーなど)でDartを入れたことがあると、PATHの中に複数のDart SDKへの参照が残ってしまい、意図しない古いバージョンが呼び出されることがあります。dart --versionで表示されるパスやバージョンが想定と違う場合は、PATHの設定を一度整理し、使いたいSDKだけが参照される状態にすると解決しやすいです。
他の言語と比べた環境構築の考え方
Dartの環境構築の特徴は、「言語単体で学ぶルート」と「フレームワーク(Flutter)とセットで学ぶルート」の2つが最初から用意されている点です。多くの言語では、まず言語のインストールをしてから、必要に応じて用途別のフレームワークを追加していく流れが一般的ですが、Dartの場合はFlutter SDKを入れるだけでDartの実行環境もまとめてついてくるため、「アプリを作りたい人」はDart単体のインストール手順を意識せずに済むという特徴があります。これはどちらが優れているという話ではなく、Dartが元々「特定の目的(モバイルアプリ開発)に強く紐づいた言語」として発展してきたことの表れと言えます。目的がはっきりしている人にとっては、遠回りせずに済む合理的な設計とも言えるでしょう。
まとめ
Dartの環境構築は、単体で学ぶかFlutterとセットで学ぶかで手順が変わります。まずはDartPadで雰囲気をつかみ、目的に応じたSDKをインストールするとよいでしょう。もしdart --versionがうまく通らない場合は、多くのケースでPATHの設定が原因です。焦らず一つずつ確認すれば、環境構築でつまずく時間は最小限に抑えられます。
本ページはプロモーションを含みます。
参考書籍(PR)
Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。
コメント
コメントを投稿