0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

React Nativeで開発を始める際、npmとnpxの違いに戸惑うことがあるので、備忘録。

npm (Node Package Manager)

npmは、Node.jsのパッケージを管理するためのツールで、以下の機能を持っています。

  • パッケージのインストール: プロジェクトで使用するライブラリやツールをインストールする。
  • 依存関係の管理: プロジェクト内のpackage.jsonファイルを通じて、使用しているパッケージとそのバージョンを管理する。
  • スクリプトの実行: package.json内に定義されたスクリプトをnpm run スクリプト名で実行できる。

npx (Node Package Executer)

npxは、npm5.2から同梱されているツールで、パッケージをインストールせずにコマンドを実行できるため、以下の用途に適しています。

  • 一時的なパッケージの実行: グローバルにインストールされていないパッケージでも、npx <パッケージ名>とすることで、即時ダウンロードして実行できる。
  • 特定バージョンの実行: npx パッケージ名@バージョンと指定することで、特定のバージョンのパッケージを直接実行できる。

React Native開発における使い分け

React Nativeのプロジェクトを新規作成する際、npxを使用してreact-nativeコマンドを実行するのが一般的かと思われます。例えば、以下のコマンドで新しいプロジェクトを作成できたり、iOSビルドを実行してシミュレーターを起動したり。

npx react-native init MyNewProject
npx react-native run-ios

一方、npmはプロジェクト内で使用するパッケージのインストールや依存関係の管理に使用します。例えば、package.jsonの作成をしたり追加のライブラリをインストールしたり。

npm init
npm install <ライブラリ名> --save
npm install <ライブラリ名> --save-dev

npm installのみだと、package-lock.jsonの内容を読み取ってインストールします。
--save--save-devの違いは、前者はdependencies(=本番環境)に、後者はdevDependencies(=開発環境)にインストールされます。ちなみにそれらのオプションを省略した場合はdependenciesに追加されます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?