📖
npmとyarn
前書き
npmとyarnは、どちらもJavaScriptのパッケージ管理ツールです。プログラムに必要なライブラリやツールを簡単にインストールしたり、管理したりするために使われます。
npmとは?
- 正式名称: Node Package Manager
- 提供元: Node.jsに付属している公式パッケージマネージャ
- 用途: JavaScriptのライブラリやツールをインストール・管理
-
特徴:
- Node.jsをインストールすると自動的に利用可能
- 巨大なオープンソースパッケージリポジトリ「npm registry」を利用
- インストールコマンドが簡単:
npm install パッケージ名
例:
lodashというライブラリをインストール
npm install lodash
yarnとは?
- 提供元: Facebook (現在はオープンソースコミュニティで管理)
- 用途: npmと同じく、パッケージのインストールや管理
-
特徴:
- npmの代替ツールとして登場
- 高速かつ信頼性が高い(キャッシュ機能の最適化など)
- 同じコマンド体系だが、yarnで始まる
例:
lodashというライブラリをインストール
yarn add lodash
npmとyarnの違い
項目 | npm | yarn |
---|---|---|
速度 | 遅い場合がある(特に古いバージョン) | 高速(キャッシュや並列処理を活用) |
設定ファイル | package-lock.json | yarn.lock |
依存関係の管理 | 自動解決に時間がかかる場合がある | 依存関係の解決が高速 |
オフラインモード | 一部のバージョンで非対応 | 完全なオフライン対応 |
コマンド体系 | npm installなど | yarn addなど |
どっちを使うべき?
- プロジェクトに合わせる
- 既存プロジェクトでnpmが使われている場合はnpmを使う。
- 逆にyarnが使われている場合はyarnを続ける。
- 速度や信頼性を重視するならyarn
- 依存関係の解決やキャッシュ効率が良いため、大規模プロジェクトではyarnが有利。
- npmも進化中
- npm v7以降、機能が大幅に改善され、yarnとの差が縮まってきています。
簡単なサンプルコード
以下は、npmまたはyarnを使って「axios」というHTTPクライアントライブラリをインストールして使う例です。
npmを使う場合
npm install axios
yarnを使う場合
yarn add axios
コード例
// axiosを使ったHTTPリクエスト
const axios = require('axios');
axios.get('https://api.example.com/data')
.then(response => {
console.log('データを取得:', response.data);
})
.catch(error => {
console.error('エラーが発生:', error);
});
まとめ
- npmとyarnはどちらも便利なツールで、どちらを使っても大きな違いはありません。
- 既存プロジェクトのルールを尊重しつつ、必要に応じて選んでください。
- 小さなプロジェクトならnpm、大規模で信頼性が必要ならyarnがおすすめです。
Discussion