React Native × Expoにおけるnpx expo installとnpm installの違いと使い分け
はじめに
React Native × Expoで開発していると、
ライブラリを追加する場面で 2種類のコマンド を見かけます。
npm install ライブラリ名
npx expo install ライブラリ名
当初は、違いが全くわかりませんでした。
本記事では、npx expo install と npm 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