テクノロジー · 実用ガイド

npm の rename で ENOTEMPTY?削除前に path と dest を監査する

完全なエラーを保存し、同時 writer を止め、local/global scope を分類して正確な destination を確認します。stale と証明した staging directory だけを退避し、1回だけ再試行して cache を検証します。

npm ENOTEMPTY の log、writer、scope、dest 監査を示すオリジナル図。
オリジナルイラスト:path と dest が rename の失敗境界です。 Watch at Ease

npm の rename 中の ENOTEMPTY は、表示された path と dest の間の移動失敗です。cache、lockfile、node_modules 全体の破損を証明しません。

証拠を保存し、同時 writer を止めて scope を分類します。stale と証明できる dest だけを退避し、1回再試行して検証します。

rename の証拠を保存

完全な error、Node/npm version、prefix、cwd、verbose log を保存します。

dot directory でも active または特殊 filesystem 上かもしれません。

writer を止めて scope を分類

dev server、watcher、他の npm/npx terminal を閉じ process を確認します。

local/global/npx/container/mount と user、prefix を記録します。

削除前に両 path を確認

owner、timestamp、contents を比較し、shared filesystem は local disk でも再現します。

同じ失敗の残骸で固有データがないと証明できた dest だけを退避します。

1回再試行して cache を検証

同じ cwd、user、prefix で1回だけ再試行し、成功後に project と lockfile を確認します。

npm cache verify を使い、根拠なしに全 cache を clean しません。

再発をエスカレーション

新しい dest で再発したら concurrent installer、indexer、mount、network filesystem、ownership を調べます。

sudo や再帰 ownership 変更を先に使わず、clean local directory で証拠を揃えます。

stale dest の限定退避、再試行、検証を示すオリジナル図。
オリジナルイラスト:証明できる最小変更だけを行います。 Watch at Ease