🐷

React Nativeの開発にはasdfが最高だと大声で叫びたい!

2024/11/07に公開

はじめに

みなさんは、React Nativeの開発をしているときに、Node.jsのバージョンを切り替えたり、Rubyのバージョンを切り替えたりすることはありますか?
Node.jsだとnvm、Rubyだとrbenvを使うことが多いと思います。

しかし、これらのツールは、言語ごとに別々にインストールする必要がありますし、
使い方も統一されていなくて、いざ使おうと思ったときに、使い方を忘れてしまうこともあります。
全部覚えている人はすごいですが、私は覚えられません😭

asdfとは

そこで、今回紹介するのが、asdfです。
https://asdf-vm.com/

asdfは、複数のバージョンの言語やツールを管理するためのツールです。
様々な言語やツールを管理することができますが、React Nativeの開発においては、Node.js・Ruby・Python・Javaなどのバージョンを管理することができます。
もちろん、他の言語やツールも管理することができます。

asdfのインストール

asdfのインストールは、以下のコマンドで行うことができます。

brew install asdf

React Nativeの開発に使う言語やツールのプラグインをインストールします。

asdf plugin add nodejs
asdf plugin add ruby
asdf plugin add python
asdf plugin add java

asdfの使い方

各言語やツールのバージョンを管理するファイルは、.tool-versionsです。
nvmでいう.nvmrcと同じようなものです。

例えば、Node.jsなど複数のツールのバージョンを指定する場合は、以下のように記述します。

.tool-versions
nodejs 18.18.0
ruby 3.2.0
java zulu-11.0.13
python 3.9.7

インストールできるNode.jsのバージョンのリストアップを確認するには、以下のコマンドを実行します。

asdf list-all nodejs

installコマンドで、指定したバージョンの言語やツールをインストールすることができます。

asdf install

一度にインストールできて便利ですね。

こっそりasdfを使いたい場合

プロジェクトでnvmやrbenvが推奨されている場合、asdfを使うことができないことがあります。
心配しないでください。.asdfrcファイルを作成し、以下のように記述することで、誰にも気づかれずasdfを使うことができます。

.asdfrc
legacy_version_file = yes

この設定を行うと、.nvmrcや.ruby-versionを読み取ってくれるようになります。
installコマンドで、.nvmrcや.ruby-versionで指定されたバージョンの言語やツールをインストールすることができます。

asdf install

おわりに

React Nativeの開発には、Node.js・Ruby・Python・Javaなどのバージョンを切り替える必要があるので、asdfを使うと便利ですし、作業の効率化もできます。
またBitriseでもasdfはデフォルトでインストールされているので、Bitriseを使っている場合は、特に便利です。
是非、asdfを使ってみてください!

CureApp テックブログ

Discussion