A CLI tool to quickly switch between npm registries like npm, cnpm, taobao, yarn, and custom registries.
nrm is a Node.js command-line tool that manages multiple npm package registries. It solves the problem of manually editing npm configuration files by providing quick commands to switch between registries like npm, cnpm, taobao, and yarn, which is especially useful in regions with network restrictions or for accessing private registries.
Node.js developers, especially those working in environments with multiple npm registries (e.g., in China using taobao mirror) or those needing to switch between public and private registries frequently.
Developers choose nrm for its speed and simplicity—it eliminates manual config edits, reduces errors, and streamlines workflows with features like registry testing and custom registry management, all through an intuitive CLI.
NPM registry manager, fast switch between different registries: npm, cnpm, nj, taobao
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables instant changes to the active npm registry with commands like `nrm use taobao`, eliminating manual edits to .npmrc files and reducing errors.
Includes a `test` command to measure and compare response times of all configured registries, helping users select the fastest option based on network conditions.
Supports adding, renaming, and deleting custom registries through simple CLI commands, making it easy to integrate private or internal npm repositories.
Allows linking npm scopes to specific registries with `set-scope`, providing granular control over package sources for monorepos or multi-registry setups.
Requires Node.js 18 or higher from version 1.4.0, as noted in the README tip, which can hinder adoption in legacy or enterprise environments with older Node versions.
The `publish` command only fully supports custom registries after setting a hosted repository URL; for preset registries, it proxies to npm's official registry, which may confuse users expecting direct publishing.
The TODO list in the README admits missing registries like GitHub and Sonatype, indicating that some commonly desired sources are not yet natively supported out-of-the-box.
The README explicitly states 'Maintainer is wanted,' suggesting potential risks of slower updates, unaddressed issues, or future abandonment if no one steps in.