【インストール編】Flutter SDKをバージョン管理できるfvmを使ってみよう(つまずくポイントも徹底解説)


fvmとは

  • Flutter Version Managementの略
  • FlutterSDKのバージョンを管理するためのシンプルなCLI

https://fvm.app/

※CLIとは、コンピュータやソフトウェアが利用者に情報を提示したり操作を受け付けたりする方法(UI:ユーザーインターフェース)の類型の一つで、すべてのやり取りを文字によって行う方式。

https://e-words.jp/w/CLI.html

fvmを使うと何ができるのか

  1. 複数のFlutterSDKの管理
    複数のFlutterSDKバージョンを管理およびキャッシュする機能
    →チャンネルとリリースの高速切り替え。利用可能なチャンネルとリリースを表示します。
  2. プロジェクトのバージョン管理
    プロジェクトごとにFlutterSDKのバージョンを構成して使用します
  3. 高度なツーリング
    →グローバルなFlutterSDKバージョンを管理します。
    →FlutterSDKバージョンでプロセスを生成します。

fvmのインストール(公式ページに書いていた方法 for Mac)

・インストール

brew tap leoafarias/fvm
brew install fvm

実際に私が行ったfvmのインストール方法

welchiさんの記事を参考にしました。下記の記事を参考にすると良いと思います。

https://zenn.dev/welchi/articles/d8f120adeebc7a85ed17
  1. まずはDartをインストールする
$ brew tap dart-lang/dart
$ brew install dart
  1. 次にpubを使ってfvmをインストールします
pub global activate fvm
  1. そのままではfvmへのパスが通っていないので、.bachrcや.zshrcへ次を追記します。
export PATH="$PATH":"$HOME/.pub-cache/bin"
  1. 次のコマンドが実行できたら、fvmへパスが通っています。
$ fvm version
1.2.3

オプション(インストールで発生したエラーを解説)

  1. エラーの内容
Warning: The following directories are not writable by your user:
/usr/local/lib/pkgconfig
/usr/local/share/info
/usr/local/share/man/man3
/usr/local/share/man/man5

You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3 /usr/local/share/man/man5

And make sure that your user has write permission.
chmod u+w /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3 /usr/local/share/man/man5
  1. 解説
    上記のエラー内容では、「次のディレクトリはあなたのユーザーによって書き込むことができません。」と言っています。
    実際に書き込むことができないフォルダは以下の4つです。
/usr/local/lib/pkgconfig
/usr/local/share/info
/usr/local/share/man/man3
/usr/local/share/man/man5

そして、「これらのフォルダの所有権をユーザーに変更する必要があります。」と言っています。
そして、下記のコマンドを実行すれば問題を解決することができます。

sudo chown -R $(whoami) /usr/local/lib/pkgconfig /usr/local/share/info /usr/local/share/man/man3 /usr/local/share/man/man5

sudoコマンドは、「スーパーユーザー(root)の権限でコマンドを実行する」ことができます。
どうしても通したいコマンドを実行する際に使用することが多いです。

https://atmarkit.itmedia.co.jp/ait/articles/1611/28/news036.html

chownコマンドは、「ファイルやディレクトリの所有者と所属グループを変更する」ことができます。
-R コマンドは、ディレクトリとその中のファイルを再起的に変更することができます。
使用例としては、以下の通りです。

sudo chown -R mukku folder
「folder」ディレクトリの所有者を「mukku」に変更します。

最後に、所有者を変更したディレクトリがユーザーに書き込み権限があることを確認してください。
その確認ができるコマンドは、chmodコマンドです。

https://qiita.com/ntkgcj/items/6450e25c5564ccaa1b95
chmod u + w / usr / local / lib / pkgconfig / usr / local / share / info / usr / local / share / man / man3 / usr / local / share / man / man5

「chmod u + w (ディレクトリ)」で構成され、所有者(user)の書き込み権限(write)を設定することができます。

これによって、書き込むことができなかった4つのフォルダを書き込むことができるので、fvmのインストールはできると思います。