Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. JavaScript Package Managers
  3. cnpm

cnpm

What it is

cnpm is an npm client for the China mirror of npm, available as free software for Linux, macOS, Windows, and self-hosted environments. It supports npm commands for installing and synchronizing packages, and can open package documentation or a Git web URL. The project documents global installation with `npm install cnpm -g` and requires Node.js 20 or newer, with LTS recommended. Users can configure a custom registry, registry website, and user configuration file for a private-registry npm CLI. cnpm uses npminstall by default, while the original npm installer is also available with a stated speed trade-off. The mirror is read-only and excludes write operations. npminstall accepts folders, tarballs, URLs, registry packages, and Git URLs, with options for lifecycle scripts, optional dependencies, registry-only installs, and license restrictions. It cannot install shrinkwrap files, and the project recommends migrating to utoo.

For and against

For

  • Free and available across major desktop platforms
  • Supports npm installation and synchronization commands
  • Private registry configuration is documented
  • Accepts folders, tarballs, URLs, and Git URLs
  • Offers install policy options

Against

  • Requires Node.js 20 or newer
  • Mirror excludes write-related operations
  • Cannot install from shrinkwrap files
  • Project recommends migrating to utoo

The verdict

cnpm provides npm-compatible package workflows around a read-only China mirror, with private-registry options and configurable installation behavior. Its Node.js requirement and shrinkwrap limitation matter when planning adoption.

Who it suits

cnpm suits developers who need npm-compatible commands against the China mirror or a configured private registry. It supports Linux, macOS, Windows, and self-hosted use.

On the record

Commands
cnpm supports npm commands, including package synchronization and opening package documentation or a Git web URL.github.com · read 28 Sep 2026
Compatibility
cnpm supports npm commands, and npmmirror says it supports commands such as install, info, and view, except write-related operations.npmmirror.com · read 29 Sep 2026
Install
The project instructs users to install cnpm globally with `npm install cnpm -g`.github.com · read 28 Sep 2026
Installation
The project documents global installation with `npm install cnpm -g`.github.com · read 29 Sep 2026
Installer
cnpm uses npminstall by default; the README says users can choose the original npm installer, with slower install speed.github.com · read 29 Sep 2026
Install options
npminstall documents options to ignore lifecycle scripts, omit optional dependencies, enforce registry-only installs, and forbid specified licenses.github.com · read 28 Sep 2026
License
The cnpm repository is licensed under MIT.github.com · read 29 Sep 2026
Limitations
npminstall says it cannot install from shrinkwrap files and warns that failed installs are best retried after cleaning node_modules.github.com · read 28 Sep 2026
Maintainer
The package metadata lists fengmk2 as its author.github.com · read 29 Sep 2026
Mirror
npmmirror describes itself as a read-only npm mirror that aims to synchronize with the official service in real time.npmmirror.com · read 28 Sep 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 · read 29 Sep 2026
Mirror commands
npmmirror says its cnpm CLI supports commands such as install, info, and view, while write-related operations are excluded.npmmirror.com · read 28 Sep 2026
Node.js requirement
The README lists Node.js 20 as the minimum requirement and LTS as recommended.github.com · read 29 Sep 2026
Package documentation
The `cnpm doc` command opens package documentation, and `cnpm doc -g` opens a Git web URL.github.com · read 29 Sep 2026
Package sync
Users can sync packages from npm with `cnpm sync [moduleName]`.github.com · read 29 Sep 2026
Package types
npminstall supports package inputs including folders, tarballs, URLs, registry packages, and Git URLs.github.com · read 28 Sep 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 · read 28 Sep 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 · read 29 Sep 2026

Alternatives to cnpm

Every alternative, ranked