Just like corepack, plus
🔥 Better fnm support.
🔥 pmm update-local
update packageManager
for your local project
🔥 pmm update-default <package-manager> [version]
update the global fallback version
🔥 pmm pin <package-manager> <path>
add packageManager
field to your package
🔥 Installs package managers from your configured npm registry (or set PMM_NPM_REGISTRY
to use an alternative)
⏲️ No Windows support at this point (happy to accept a pull request)
curl -o- https://raw.githubusercontent.com/ehyland/pmm/main/install.sh | bash
Add packageManager
field to your projects package.json
.
e.g.
{
"packageManager": "pnpm@7.5.0"
}
Then use your package manager as you usually would. Behind the scenes, pmm
will automatically install and run the package manager version in your package.json
.
The first time you run npm
or pnpm
outside of a configured project / in a global context, pmm will get the latest version of your package manager and set it as the global default. The default can then be updated with pmm update-default <package-manager> [version]
.
Simply remove the ~/.pmm
dir and the enabling script in your ~/.bashrc
export PMM_DIR="$HOME/.pmm"
[ -s "$PMM_DIR/package/enable.sh" ] && \. "$PMM_DIR/package/enable.sh" # This loads pmm shims
See CONTRIBUTING.md