-
Notifications
You must be signed in to change notification settings - Fork 24
Frustrating MacOS ENOTEMPTY rename issues on newer npm versions #1292
Description
Describe the bug
I think Heroku CLI maybe doesn't face this because of using an older version of node, though I haven't double-checked with the versions of NPM used with it.
Sometimes updating one of my plugins causes a frustrating edge case causing the update to file, and requires additional steps to clean it up and solve.
To Reproduce
Steps to reproduce the behaviour are a little challenging, but might be possible creating a new CLI that bundles a modern version of npm.
❯ mycli update
Fetching information about CLI update [channel: alpha] [dist-tag: alpha-darwin-arm64]... done
Restarting CLI to update plugins with the new version
Updating CLI from 16.0.20-alpha-darwin-arm64.0 to 16.0.21-alpha-darwin-arm64.0... done
Fetching information about CLI update [channel: alpha] [dist-tag: alpha-darwin-arm64]... already up-to-date (16.0.21-alpha-darwin-arm64.0)
Updating 5 installed plugin(s)...
› Notice: Do not forget to refresh your completion cache by restarting your shell or by running
›
› $ source ~/.zshrc
› # OR
› $ source <(mycli completion zsh)
›
› More info for setting up completion on other shells can be found by running `mycli completion --help`
›
npm error code ENOTEMPTY
npm error syscall rename
npm error path /Users/myuser/.local/share/@myorganisation/mycli/node_modules/@myorganisation/myplugin
npm error dest /Users/myuser/.local/share/@myorganisation/mycli/node_modules/@myorganisation/.myplugin-6EHKOOFt
npm error errno -66
npm error ENOTEMPTY: directory not empty, rename '/Users/myuser/.local/share/@myorganisation/mycli/node_modules/@myorganisation/myplugin' -> '/Users/myuser/.local/share/@myorganisation/mycli/node_modules/@myorganisation/.myplugin-6EHKOOFt'
npm error A complete log of this run can be found in: /Users/myuser/.npm/_logs/2026-03-20T12_50_38_218Z-debug-0.log
@myorganisation/mycli: Updating plugins... !
Expected behaviour
Plugins to happily successfully update
Screenshots
N/A
Environment (please complete the following information):
- OS & version: MacOS Tahoe 26.3.1
- Shell/terminal & version zsh 6.9
- Node: 24.11.1
- NPM: 10.9.6
Additional context
Some long-lived related NPM issues:
Claude + Amp related issues from it
anthropics/claude-code#7373
https://ampcode.com/threads/T-1c48ef54-b8b8-4d8a-aa20-33b7c897f9fe