antfu-collective / ni

💡 Use the right package manager
MIT License
6.25k stars 208 forks source link

Should probably run `corepack` to avoid installing package manager globally #194

Open eramdam opened 9 months ago

eramdam commented 9 months ago

Describe the bug

I recently ran across a repo that uses a recent version of Yarn (https://github.com/mastodon/mastodon/ which recently switched to Yarn 4.x) and I had yarn 1.x installed globally so ni thought it was the right version to run.

Even though un-installing my global (1.x) version of yarn "fixed" the issue, Yarn's documentation states that modern releases aren't meant to be installed globally so I feel like running corepack enable would be a better fix.

Reproduction

clone https://github.com/mastodon/mastodon/, run ni with yarn 1.x installed globally

System Info

System:
    OS: macOS 14.1.2
    CPU: (10) arm64 Apple M1 Max
    Memory: 676.20 MB / 32.00 GB
    Shell: 3.6.4 - /opt/homebrew/bin/fish
  Binaries:
    Node: 20.9.0 - ~/Library/Caches/fnm_multishells/16589_1701886436951/bin/node
    npm: 10.2.1 - ~/Library/Caches/fnm_multishells/16589_1701886436951/bin/npm
  Browsers:
    Chrome: 119.0.6045.199
    Safari: 17.1.2

Used Package Manager

npm

Validations

HawtinZeng commented 9 months ago

@antfu How about we integrate the corepack command into ni, corepack is a package manager version manager, it support npm, yarn, pnpm, as this blog says