Category: Node

node管理方法あれこれ

方針サマリ

  • 開発端末: Volta もしくは asdf で Node ランタイムを固定。パッケージはプロジェクトローカルにのみ入れる。
  • CI/CD: Volta/asdf でバージョン固定 or actions/setup-node + corepack。Lockfile を必ず使用。
  • Docker/本番: node:<version> の公式イメージ起点。corepack enable でパッケージマネージャをピン留め。グローバル npm は原則使わない。
  • グローバルCLI: できるだけ npx / npm exec / pnpm dlx、もしくは aqua で管理(OSに汚さない)。

Node.js本体の管理

A. 開発端末(複数プロジェクトを切り替えるなら)

Volta(推奨) JS ツール専用のバージョンマネージャ。高速・安定。プロジェクトごとに Node / npm / yarn / pnpm をピンできます。

curl https://get.volta.sh | bash
volta pin node@20
volta pin pnpm@9

curl | bash は取得したスクリプトをそのまま実行するため、公式URLであることと内容を確認してから実行する。

B. サーバ/Docker

公式イメージで固定:FROM node:20-bookworm-slim など。 OS の apt(Debian/Ubuntu)だけで入れると古いことが多く、推奨しません(NodeSource を使う手もあるが、Docker なら公式イメージが楽)。 マルチステージでビルドキャッシュを効かせ、最終ステージは slim/alpine を使用。

Read more...