こんにちはフロントエンドエンジニアのまさにょんです!
今回は、yarn install と yarn add と npm install の違いについて解説します。
また、 yarn と npm のコマンドの一覧・比較表も作成したので、解説していきます。
目次
yarn install と yarn add と npm install の違いとは? yarn と npm の違いとは?
yarn install と yarn add と npm install の違いとは?
まずは、yarn install
とyarn add
の違いについて説明します。
yarn
の場合はnpm
と違って、package.json
ファイルに記載された依存パッケージをインストールするコマンドと、
新しいパッケージを追加するためのコマンドが分離されています。
yarn install
は、package.json
ファイルに記載された依存パッケージをインストールするためのコマンドです。
このコマンドを実行すると、yarn.lock
ファイルとnode_modules
ディレクトリの内容に基づいてパッケージがインストールされます。
yarn.lock
ファイルは、正確なバージョンのパッケージがインストールされるようにするためのものであり、
他の開発者と同じ環境を構築する際に重要な役割を果たします。
ちなみに、yarn.lock
の役割はpackage-lock.json
と同様です。
一方、yarn add
は、新しいパッケージを追加するためのコマンドです。
例えば、プロジェクトに新しいライブラリやツールを追加したい場合に使用します。
yarn add
コマンドを使用すると、新しいパッケージが自動的にpackage.jsonに追加され、依存関係が解決されます。
まとめると、次のとおりです。
-
yarn install
:package.json
ファイルに記載された依存パッケージをインストールするコマンド yarn add
: 新しいパッケージを追加するためのコマンドnpm install
: 上記をどちらも1コマンドでこなしている。
yarn と npm の違いとは?
yarn
もnpm
もNodeのパッケージの管理ツールであり、同様の機能を提供していますが、いくつかの違いがあります。
基本的には、後発のyarnの方が、npmの弱点を改善しているポジションにあります。
ただ、昨今は、npmも強化されているので、優劣はつけられないような話も聞きます。
一般的に、yarn
と npm
の違いとしてピックアップされるのは、次のとおりです。
- パフォーマンス: yarn はパッケージの依存関係を解決するために並列処理を使用し、インストールの速度を向上させています。
- 依存関係の解決においてキャッシュを利用することで、再度同じパッケージをインストールする際の時間とディスク使用量を削減します。
- セキュリティチェック: yarn はパッケージのインストール時に自動的にセキュリティスキャンを実行し、脆弱性のあるパッケージを検出します。
- これにより、安全なパッケージの使用を促進します。
まとめると、yarn は、パッケージのインストール速度やセキュリティの改善に焦点を当てており、
高速なパッケージの追加が可能であることや、安全性を強みにnpmと差別化しています。
また、yarnとnpmは、コマンドの使用方法やinstall方法に若干の違いがありますが、
互換性があり、npmのプロジェクト設定ファイル(package.json)をそのまま使うことができます。
yarn と npm のコマンドの一覧・比較表
yarn と npm のコマンドの一覧・比較表は、次のとおりです。
基本的には、同じ単語を使っていますが、少し表現が違うものもあるので、注意が必要です。
コマンド | yarn | npm |
---|---|---|
インストール (package.json に記載があるものを追加する) | yarn install | npm install |
インストール (パッケージを指定して追加) | yarn add <package> | npm install <package> |
アンインストール | yarn remove <package> | npm uninstall <package> |
アップデート | yarn upgrade <package> | npm update <package> |
バージョン確認 | yarn --version | npm --version |
キャッシュ操作 | yarn cache clean | npm cache clean |
スクリプト実行 | yarn run <script> | npm run <script> |
パッケージ情報 | yarn info <package> | npm info <package> |
パッケージ検索 | yarn search <package> | npm search <package> |
パッケージ一覧 | yarn list | npm list |
脆弱性チェック | yarn audit | npm audit |
脆弱性の修正 | yarn audit fix | npm audit fix |
dependencies と devDependencies の 追加フラグの違い
npmでは--save
で、パッケージをdependencies
(本番環境に必要なパッケージ)に追加して、
--save-dev
フラグで、devDependencies
(開発時に必要なパッケージ)に追加します。
ただ、yarnではこれらの代わりに、yarn add --dev
コマンドで、dependencies
(本番環境に必要なパッケージ)に追加して、
通常のyarn add
コマンドで、devDependencies
(開発時に必要なパッケージ)に追加します。
つまり、npmのnpm install --save <package>
コマンドは、yarnではyarn add <package>
と等価です。
どちらの方法でも依存関係の保存が行われ、package.json
ファイルが更新されます。
# Dev環境のみで、使用する Styled_Components の型定義ファイルを npm で Install
npm install --save-dev @types/styled-components
# Dev環境のみで、使用する Styled_Components の型定義ファイルを yarn で Install
yarn add --dev @types/styled-components
# 本番環境に必要なパッケージとして、Expressを npm で Install
npm install express --save
# 本番環境に必要なパッケージとして、Expressを yarn で Install
yarn add express
JavaScript書籍 Ver. 中級-上級者向け
JavaScript書籍 Ver. 初級者向け
プログラミング学習・エンジニア転職関連の情報
自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)
『GEEK JOBキャンプ』スピード転職コース(無料)
【IT道場】入校時0円! 就職目的プログラミングスクール
エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】
『techgym』 (Python特化・無料)
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!