📖

npmとyarn

2024/12/27に公開

前書き

npmyarnは、どちらも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など

どっちを使うべき?

  1. プロジェクトに合わせる
  • 既存プロジェクトでnpmが使われている場合はnpmを使う。
  • 逆にyarnが使われている場合はyarnを続ける。
  1. 速度や信頼性を重視するならyarn
  • 依存関係の解決やキャッシュ効率が良いため、大規模プロジェクトではyarnが有利。
  1. 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