Freedom251 › JavaScript Package Managers
cnpm

What cnpm is
cnpm is an npm client for the China mirror of npm, with npm command support for working with packages. The project documents global installation using `npm install cnpm -g` and requires Node.js 20 or later, with LTS recommended. Its commands include package synchronization with `cnpm sync [moduleName]`; `cnpm doc` opens package documentation, while `cnpm doc -g` opens a Git web URL. cnpm uses npminstall by default, and users can choose the original npm installer at the cost of the fastest install speed. npminstall accepts package inputs such as folders, tarballs, URLs, registry packages, and Git URLs. It also documents controls for lifecycle scripts, optional dependencies, registry-only installs, and specified licenses. Users can configure a custom registry, registry web URL, and user configuration file to build a private-registry npm CLI. The mirror is described as read-only, with write-related operations excluded, and aims to synchronize with npm in real time. cnpm is free, supports Linux, macOS, Windows, and self-hosting, and is licensed under MIT. The project recommends migration to utoo, which it describes as a modern npm package manager.
Who it suits
cnpm suits developers who want an npm client for the China mirror, including users who need package synchronization, package documentation commands, or a custom private-registry setup. It supports Linux, macOS, Windows, and self-hosting, though the project recommends migrating to utoo.
What it does well
- Free to use.
- Supports Linux, macOS, Windows, and self-hosting.
- Supports npm commands, including package synchronization.
- Can configure a private-registry npm CLI.
- MIT license.
What to know first
- Requires Node.js 20 or later, with LTS recommended.
- The project recommends migrating to utoo.
- The mirror excludes write-related operations.
- npminstall cannot install from shrinkwrap files.
Limits
The mirror is read-only, so write-related operations are excluded. npminstall cannot install from shrinkwrap files; failed installs are best retried after cleaning `node_modules`.
Getting started
- Install Node.js 20 or later; LTS is recommended.
- Run `npm install cnpm -g` to install cnpm globally.
- Use the cnpm npm commands you need, such as `cnpm sync [moduleName]` or `cnpm doc`.
- For a private registry, configure a custom registry, registry web URL, and user configuration file as described in the README.
Verdict
Choose cnpm if you need a free npm client for the China mirror and its read-only mirror workflow fits your package tasks. The project recommends moving to utoo, and cnpm's default installer cannot install from shrinkwrap files.
Questions
Does cnpm cost anything?
cnpm is free, with a free plan and no free trial.
Which operating systems does cnpm support?
It supports Linux, macOS, and Windows, as well as self-hosting.
How do I install cnpm?
The project documents global installation with `npm install cnpm -g`. Node.js 20 is the minimum, and LTS is recommended.
Can cnpm use a private registry?
Yes. The README shows how to configure a custom registry, registry web URL, and user configuration file for a private-registry npm CLI.
Can cnpm publish packages to its mirror?
The mirror is described as read-only, and write-related operations are excluded.
What license does cnpm use?
The repository identifies its license as MIT.
Facts from cnpm's own pages
- Commands
- cnpm supports npm commands, including package synchronization and opening package documentation or a Git web URL. · github.com, 28 Sept 2026
- Compatibility
- cnpm supports npm commands, and npmmirror says it supports commands such as install, info, and view, except write-related operations. · npmmirror.com, 29 Sept 2026
- Install
- The project instructs users to install cnpm globally with `npm install cnpm -g`. · github.com, 28 Sept 2026
- Installation
- The project documents global installation with `npm install cnpm -g`. · github.com, 29 Sept 2026
- Installer
- cnpm uses npminstall by default; the README says users can choose the original npm installer, with slower install speed. · github.com, 29 Sept 2026
- Install options
- npminstall documents options to ignore lifecycle scripts, omit optional dependencies, enforce registry-only installs, and forbid specified licenses. · github.com, 28 Sept 2026
- License
- The cnpm repository is licensed under MIT. · github.com, 29 Sept 2026
- Limitations
- npminstall says it cannot install from shrinkwrap files and warns that failed installs are best retried after cleaning node_modules. · github.com, 28 Sept 2026
- Maintainer
- The package metadata lists fengmk2 as its author. · github.com, 29 Sept 2026
- Mirror
- npmmirror describes itself as a read-only npm mirror that aims to synchronize with the official service in real time. · npmmirror.com, 28 Sept 2026
- Mirror behavior
- npmmirror describes itself as a read-only npm mirror that aims to synchronize with the official service in real time. · npmmirror.com, 29 Sept 2026
- Mirror commands
- npmmirror says its cnpm CLI supports commands such as install, info, and view, while write-related operations are excluded. · npmmirror.com, 28 Sept 2026
- Node.js requirement
- The README lists Node.js 20 as the minimum requirement and LTS as recommended. · github.com, 29 Sept 2026
- Package documentation
- The `cnpm doc` command opens package documentation, and `cnpm doc -g` opens a Git web URL. · github.com, 29 Sept 2026
- Package sync
- Users can sync packages from npm with `cnpm sync [moduleName]`. · github.com, 29 Sept 2026
- Package types
- npminstall supports package inputs including folders, tarballs, URLs, registry packages, and Git URLs. · github.com, 28 Sept 2026
- Private registries
- The README shows how to alias cnpm with a custom registry, registry web URL, and user configuration file to build a private registry npm CLI. · github.com, 28 Sept 2026
- Private registry
- The README shows how to alias cnpm with custom registry, registry web, and user configuration URLs to build a private registry npm CLI. · github.com, 29 Sept 2026
- Project status
- The project recommends migrating to utoo, described as a modern npm package manager. · github.com, 29 Sept 2026
- Purpose
- cnpm is an npm client for the npmmirror.com China mirror of npm. · github.com, 29 Sept 2026
Where cnpm stands on Freedom251
- JavaScript Package Managers#5 of 19