node管理方法あれこれ
Posted: | Categories: node | Tags: node, volta
方針サマリ
- 開発端末: 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...