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