^ バージョン指定と lockfile の関係、デプロイ時の --frozen-lockfile
Node.js
CI/CD
パッケージ管理
package.json の ^4.0.23 は 4.x.x までを許容するが (5.0.0 には上がらない)、実際に上がるかは lockfile を使って install しているか次第。lockfile を git 管理していても、デプロイ時に pnpm install を --frozen-lockfile なしで実行していると、lockfile とずれたら失敗する保証がなく再解決の余地が残る。pnpm install は通常 lockfile を尊重するが厳密保証ではない。確実に固定したいなら Dockerfile/CI で pnpm install --frozen-lockfile (本番は --prod --frozen-lockfile) を使う。「lockfile があるから絶対同じバージョン」とは言えないため、実行環境の実バージョンを取る価値がある。