Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Homebrew: Could not symlink bin/corepack #56519

Open
lutzroeder opened this issue Jan 8, 2025 · 2 comments
Open

Homebrew: Could not symlink bin/corepack #56519

lutzroeder opened this issue Jan 8, 2025 · 2 comments

Comments

@lutzroeder
Copy link

lutzroeder commented Jan 8, 2025

Version

23.5.0

Platform

macOS 15.2 (24C101)
Darwin 24.2.0

Subsystem

No response

What steps will reproduce the bug?

~: brew update
~: brew upgrade
Updated 2 taps (homebrew/core and homebrew/cask).
==> Upgrading 1 outdated package:
node 23.5.0 -> 23.6.0
==> Fetching node
==> Upgrading node
  23.5.0 -> 23.6.0 
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/corepack
Target /opt/homebrew/bin/corepack
already exists. You may want to remove it:
  rm '/opt/homebrew/bin/corepack'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite node --dry-run

Possible conflicting files are:
/opt/homebrew/bin/corepack -> /opt/homebrew/lib/node_modules/corepack/dist/corepack.js
/opt/homebrew/lib/node_modules/corepack/CHANGELOG.md
/opt/homebrew/lib/node_modules/corepack/LICENSE.md
/opt/homebrew/lib/node_modules/corepack/README.md
/opt/homebrew/lib/node_modules/corepack/dist/corepack.js
/opt/homebrew/lib/node_modules/corepack/dist/lib/corepack.cjs
/opt/homebrew/lib/node_modules/corepack/dist/npm.js
/opt/homebrew/lib/node_modules/corepack/dist/npx.js
/opt/homebrew/lib/node_modules/corepack/dist/pnpm.js
/opt/homebrew/lib/node_modules/corepack/dist/pnpx.js
/opt/homebrew/lib/node_modules/corepack/dist/yarn.js
/opt/homebrew/lib/node_modules/corepack/dist/yarnpkg.js
/opt/homebrew/lib/node_modules/corepack/package.json
/opt/homebrew/lib/node_modules/corepack/shims/corepack
/opt/homebrew/lib/node_modules/corepack/shims/corepack.cmd
/opt/homebrew/lib/node_modules/corepack/shims/corepack.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/corepack
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/corepack.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/corepack.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npm
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npm.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npm.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npx
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npx.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/npx.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpm
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpm.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpm.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpx
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpx.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/pnpx.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarn
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarn.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarn.ps1
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarnpkg
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarnpkg.cmd
/opt/homebrew/lib/node_modules/corepack/shims/nodewin/yarnpkg.ps1
/opt/homebrew/lib/node_modules/corepack/shims/npm
/opt/homebrew/lib/node_modules/corepack/shims/npm.cmd
/opt/homebrew/lib/node_modules/corepack/shims/npm.ps1
/opt/homebrew/lib/node_modules/corepack/shims/npx
/opt/homebrew/lib/node_modules/corepack/shims/npx.cmd
/opt/homebrew/lib/node_modules/corepack/shims/npx.ps1
/opt/homebrew/lib/node_modules/corepack/shims/pnpm
/opt/homebrew/lib/node_modules/corepack/shims/pnpm.cmd
/opt/homebrew/lib/node_modules/corepack/shims/pnpm.ps1
/opt/homebrew/lib/node_modules/corepack/shims/pnpx
/opt/homebrew/lib/node_modules/corepack/shims/pnpx.cmd
/opt/homebrew/lib/node_modules/corepack/shims/pnpx.ps1
/opt/homebrew/lib/node_modules/corepack/shims/yarn
/opt/homebrew/lib/node_modules/corepack/shims/yarn.cmd
/opt/homebrew/lib/node_modules/corepack/shims/yarn.ps1
/opt/homebrew/lib/node_modules/corepack/shims/yarnpkg
/opt/homebrew/lib/node_modules/corepack/shims/yarnpkg.cmd
/opt/homebrew/lib/node_modules/corepack/shims/yarnpkg.ps1

How often does it reproduce? Is there a required condition?

This reproduces each time Node.js is upgraded in Homebrew.

What is the expected behavior? Why is that the expected behavior?

node command should be available in /opt/homebrew/bin as it was before the upgrade.

What do you see instead?

node command disappears and is no longer available.

Additional information

Homebrew/homebrew-core#198728
Homebrew/homebrew-core#193982
@ovflowd
Homebrew/homebrew-core#195770
@chenrui333 @daeho-ro

@ovflowd
Copy link
Member

ovflowd commented Jan 8, 2025

This does feel like a downstream issue. Shouldn't Homebrew unlink the corepack binary before linking the new one?

@ovflowd
Copy link
Member

ovflowd commented Jan 8, 2025

(I am not familiar with Homebrew's internals enough to understand if it should cleanup symlinks before linking new ones)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants