Skip to content
SPECIFICTION
Get listed

cnpm vs snpm

cnpm

github.com

snpm

snpm.io

Side by side

Figurecnpmsnpm
Price from——
Free plan——
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYes—
Plans published00
Spec score · JavaScript Package Managers7.6 (#11)7.2 (#16)
LicenseThe cnpm repository is licensed under MIT.The site states that snpm is open source and licensed under MIT or Apache-2.0.

In their own words

cnpm

cnpm is an npm client for the China mirror of npm. It supports npm commands for package installation and synchronization, and can open package documentation or a Git web URL. Global installation uses `npm install cnpm -g`, and the minimum Node.js version is 20, with LTS recommended. Users can configure a custom registry, registry web address, and user configuration file to create a private-registry npm CLI. cnpm uses npminstall by default, though the original npm installer can be selected at the stated cost of losing the fastest install speed. The mirror is read-only and aims to synchronize with the official service in real time, so write-related operations are excluded. npminstall accepts folders, tarballs, URLs, registry packages, and Git URLs. Its options include ignoring lifecycle scripts, omitting optional dependencies, enforcing registry-only installs, and forbidding specified licenses. It cannot install from shrinkwrap files, and failed installs are best retried after cleaning `node_modules`. The project is MIT licensed and recommends migrating to utoo, described as a modern npm package manager. cnpm runs on Linux, macOS, Windows, and self-hosted environments.

Visit github.com

snpm

snpm is a free, open-source package manager for Node.js projects and JavaScript workspaces. It runs on Linux, macOS, and Windows, with native binaries for x64 and arm64. Its CLI provides npm-style install, add, run, exec, and dlx commands, plus auditing, dependency inspection, license listing, patching, packing, publishing, and store maintenance. Workspaces can be filtered by name, glob, path, dependency walk, or Git reference. snpm imports pnpm, Bun, Yarn, or npm lockfiles when snpm-lock.yaml is missing, then uses its own lockfile as the source of truth. Packages are downloaded once into a shared store and linked through a node_modules/.snpm virtual store. Lifecycle scripts are blocked unless allowed, package age can be restricted, and tarball authentication is registry-scoped. Publishing includes workspace fan-out, tags, OTP, and dry-run modes. An included Node manager handles version installation and discovery. The npm install script requires Node.js 18 or newer.

Visit snpm.io