🔖

React Native × Expoにおけるnpx expo installとnpm installの違いと使い分け

に公開

はじめに

React Native × Expoで開発していると、
ライブラリを追加する場面で 2種類のコマンド を見かけます。

npm install ライブラリ名
npx expo install ライブラリ名

当初は、違いが全くわかりませんでした。

本記事では、npx expo installnpm install の違いと使い分け を解説します。

npm install とは

npm install は、Node.jsプロジェクトでライブラリ(パッケージ)をインストールする基本のコマンドです。
全てのJavaScriptプロジェクトで使える一般的なコマンド

例:

npm install react-native-svg

これで node_modules にパッケージが追加されます。

ただし、バージョンの指定は「npmが決めた最新バージョン」 になります。

npx expo install とは

npx expo install は、Expoプロジェクト専用のパッケージインストールコマンド です。

npm installとの違い:
Expoに対応した推奨バージョンを自動で選んでくれるコマンド

例:

npx expo install react-native-svg

この場合、現在使っているExpo SDKと互換性のあるバージョンが自動でインストールされます。

ちなみに、npx expo install でインストールしたライブラリをアンインストールするときは、npm uninstall を使います(アンインストールはバージョンに依存しないためです)。

具体例:バージョンの違い

例えば Expo SDK v53 を使っているとき(2025年5月時点):

npm install react-native-svg

→ npmの最新バージョン(例:15.11.12)が入るので、Expoでは未対応の可能性があります

npx expo install react-native-svg

→ Expo SDK v53 に対応したバージョン(例:13.13.5)を自動で選んでくれるので、安心して使えます

どちらを使えば良いか

基本ルール:
「Expoプロジェクトであれば npx expo install を使う」

Expoは内部的にライブラリの互換性管理をしているため、公式でも npx expo install が推奨されています。

例外:
npm installが必要なケースもあります(例:Expoに対応していないネイティブライブラリ)
この場合、Expoでライブラリが動くかドキュメントで確認が必要です。

まとめ

比較ポイント npm install npx expo install
使える範囲 全てのNode.js/JSプロジェクト Expoプロジェクト専用
バージョン管理 npmの最新 or 指定したバージョン ExpoのSDK互換バージョン
互換性の保証 自分で確認必要 Expo側が保証
  • Expoプロジェクトの場合は、 基本的にnpx expo install を使用しましょう
  • 「対応してないライブラリ」の場合、 npm installを使用しましょう

おわりに

最初は npm install を使っていましたが、
「バージョン非対応で動かない」 という経験をしました。

Expo公式ではまず npx expo install を使用することが推奨されています
対応していないライブラリの場合のみ npm install を検討する、という順番で試すのが一般的です
もし迷ったときは、Expo公式ドキュメントを確認することをおすすめします。

本記事が参考になれば幸いです。

Discussion