One command to use any* package manager. A universal CLI that auto-detects and uses npm, yarn, pnpm, or bun.
npm install -g package-manager-alias-cliOr with other package managers:
yarn global add package-manager-alias-cli
pnpm add -g package-manager-alias-cli
bun add -g package-manager-alias-cliGo to any Node.js project and use pm instead of your package manager:
# Instead of npm install / yarn install / pnpm install / bun install
pm install
# Instead of npm add lodash / yarn add lodash / pnpm add lodash / bun add lodash
pm add lodash
# Run scripts
pm run build
pm run test
# Any command works!
pm outdated
pm update
pm remove lodash-v, --version Show version number
-h, --help Show help message
--verbose Show which package manager is being used
# Check the version
pm --version
# See help
pm --help
# See which package manager is detected
pm --verbose install
# Output: Detected package manager: yarn
# yarn install v1.22.19
# ...The tool detects your package manager in this priority order:
-
Lockfile detection (highest priority):
yarn.lock→ yarnpackage-lock.json→ npmpnpm-lock.yaml→ pnpmbun.lockb→ bun
-
Fallback (if no lockfile found):
- Checks if
yarn,pnpm, orbuncommand exists - Falls back to
npmif none are found
- Checks if
-
Caching: Results are cached for performance
This error occurs when you're not in a Node.js project directory. Make sure:
- You have a
package.jsonfile in the current directory - Or you have a lockfile (
package-lock.json,yarn.lock,pnpm-lock.yaml, orbun.lockb)
The tool prioritizes lockfiles. If you want to switch package managers:
- Delete the old lockfile
- Run
pm installto generate a new lockfile with your preferred package manager
Make sure the package is installed globally:
npm install -g package-manager-alias-cliThen verify it's in your PATH:
which pm- Consistency: Use one command across all projects
- Simplicity: No need to remember which package manager each project uses
- Speed: Automatically uses the fastest available package manager
- Team-friendly: Works regardless of individual developer preferences
Contributions are welcome! Please read our Contributing Guide for details.
See CHANGELOG.md for a list of changes.
MIT - Leo Giovanetti