# pnpm vs RubyGems

| Attribute | pnpm | RubyGems |
|---|---|---|
| **Vioscale score** | 71.8 (66% (medium)) | 79.6 (31% (low)) |
| activity.commits_last_30d | 100 | 100 |
| adoption.dependent_repos | 600 | 225,927 |
| adoption.github_stars | 36,223 | 3,954 |
| adoption.package_downloads_weekly | 174,694,273 | - |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true}` |
| description.long | A package manager for JavaScript projects that emphasizes fast performance and minimal disk space requirements. | RubyGems is an open-source package hosting and distribution platform where Ruby developers discover, install, and publish gems (libraries). As a free, community-maintained service, it processes billions of downloads and is central to the Ruby development ecosystem. |
| features.capabilities | `{"role":"manager_client","ecosystem":"js","deployment":"cli_local","workspaces":true,"open_source":"oss","pricing_model":"free","upstream_proxy":true,"package_formats":"multi","private_packages":true,"content_addressable":true,"lockfile_deterministic":true,"supply_chain_integrity":true}` | `{"role":"public_registry","ecosystem":"ruby","deployment":"saas","open_source":"oss","pricing_model":"free","package_formats":"single"}` |
| integrations.count | 7 | - |
| integrations.list | `[{"name":"GitHub Actions"},{"name":"AppVeyor"},{"name":"Azure Pipelines"},{"name":"Bitbucket Pipelines"},{"name":"CircleCI"},{"name":"npm"},{"name":"JSR"}]` | - |
| language.primary | Rust | Ruby |
| license.spdx | MIT | - |
| market.availability | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://pnpm.io","retrievedAt":"2026-08-14T21:32:10.481Z"}` | `{"type":"free","plans":[{"free":true,"name":"Free Public Registry","features":["Unlimited gem uploads","Unlimited downloads","Community support"],"description":"Publish and download gems; community-funded via donations","contactSales":false}],"summary":"Free. Community-funded via donations and sponsorships.","sourceUrl":"https://rubygems.org","retrievedAt":"2026-08-03T22:32:15.384Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | open_source | free |
| pricing.price_level | free | free |
| pricing.transparent | yes | yes |
| release.cadence_days | - | 6 |
| release.history | `[{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0","date":"2026-08-26T15:13:51Z","type":"stable","version":"v12.0.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/pnpr%400.1.0-alpha.8","date":"2026-08-26T15:13:05Z","type":"prerelease","version":"pnpr@0.1.0-alpha.8"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.11","date":"2026-08-25T09:49:21Z","type":"prerelease","version":"v12.0.0-rc.11"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.10","date":"2026-08-24T19:06:14Z","type":"prerelease","version":"v12.0.0-rc.10"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.24.0","date":"2026-08-24T19:10:25Z","type":"stable","version":"v11.24.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.9","date":"2026-08-23T23:17:08Z","type":"prerelease","version":"v12.0.0-rc.9"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.23.0","date":"2026-08-23T14:41:02Z","type":"stable","version":"v11.23.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.8","date":"2026-08-20T20:48:28Z","type":"prerelease","version":"v12.0.0-rc.8"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.7","date":"2026-08-18T10:37:27Z","type":"prerelease","version":"v12.0.0-rc.7"},{"url":"https://github.com/pnpm/pnpm/releases/tag/pnpr%400.1.0-alpha.7","date":"2026-08-18T10:37:48Z","type":"prerelease","version":"pnpr@0.1.0-alpha.7"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.6","date":"2026-08-15T17:17:48Z","type":"prerelease","version":"v12.0.0-rc.6"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.22.0","date":"2026-08-15T17:18:05Z","type":"stable","version":"v11.22.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.5","date":"2026-08-13T16:42:24Z","type":"prerelease","version":"v12.0.0-rc.5"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.4","date":"2026-08-12T14:42:28Z","type":"prerelease","version":"v12.0.0-rc.4"},{"url":"https://github.com/pnpm/pnpm/releases/tag/pnpr%400.1.0-alpha.6","date":"2026-08-12T14:38:30Z","type":"prerelease","version":"pnpr@0.1.0-alpha.6"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.3","date":"2026-08-09T20:32:01Z","type":"prerelease","version":"v12.0.0-rc.3"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.2","date":"2026-08-09T14:32:02Z","type":"prerelease","version":"v12.0.0-rc.2"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v11.21.0","date":"2026-08-09T14:25:31Z","type":"stable","version":"v11.21.0"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.1","date":"2026-08-07T14:57:20Z","type":"prerelease","version":"v12.0.0-rc.1"},{"url":"https://github.com/pnpm/pnpm/releases/tag/v12.0.0-rc.0","date":"2026-08-05T20:20:09Z","type":"prerelease","version":"v12.0.0-rc.0"}]` | `[{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.19","date":"2026-08-20T01:57:03Z","type":"stable","version":"v4.0.19"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.18","date":"2026-08-05T02:16:51Z","type":"stable","version":"v4.0.18"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.17","date":"2026-07-22T04:17:51Z","type":"stable","version":"v4.0.17"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.17","date":"2026-07-22T04:19:42Z","type":"stable","version":"bundler-v4.0.17"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.16","date":"2026-07-10T05:39:35Z","type":"stable","version":"v4.0.16"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.16","date":"2026-07-10T05:41:26Z","type":"stable","version":"bundler-v4.0.16"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.15","date":"2026-06-23T23:32:27Z","type":"stable","version":"v4.0.15"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.15","date":"2026-06-23T23:41:00Z","type":"stable","version":"bundler-v4.0.15"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.14","date":"2026-06-10T00:12:00Z","type":"stable","version":"bundler-v4.0.14"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.14","date":"2026-06-10T00:10:15Z","type":"stable","version":"v4.0.14"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.13","date":"2026-06-03T02:59:24Z","type":"stable","version":"v4.0.13"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.13","date":"2026-06-03T03:01:31Z","type":"stable","version":"bundler-v4.0.13"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.12","date":"2026-05-20T03:06:01Z","type":"stable","version":"v4.0.12"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.12","date":"2026-05-20T03:07:44Z","type":"stable","version":"bundler-v4.0.12"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.11","date":"2026-04-30T04:17:53Z","type":"stable","version":"v4.0.11"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.11","date":"2026-04-30T04:19:45Z","type":"stable","version":"bundler-v4.0.11"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.10","date":"2026-04-08T00:04:40Z","type":"stable","version":"bundler-v4.0.10"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.10","date":"2026-04-08T00:02:55Z","type":"stable","version":"v4.0.10"},{"url":"https://github.com/ruby/rubygems/releases/tag/v4.0.9","date":"2026-03-25T01:07:33Z","type":"stable","version":"v4.0.9"},{"url":"https://github.com/ruby/rubygems/releases/tag/bundler-v4.0.9","date":"2026-03-25T01:24:35Z","type":"stable","version":"bundler-v4.0.9"}]` |
| reliability.status_page | - | yes |
| security.disclosure_policy | yes | yes |
| security.scorecard | 6.9 | 8.3 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=%40pnpm%2Ferror&per_page=100","last_12m":0,"max_severity":null}` | `{"count":5,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=rubygems&package_name=bundler&per_page=100","last_12m":0,"max_severity":"CRITICAL"}` |

## Capabilities (Package Registries)

| Capability | pnpm | RubyGems |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Package manager client | Public registry |
| **Ecosystem** |  |  |
| Ecosystem / language | JavaScript | Ruby |
| **Deployment** |  |  |
| Deployment | CLI-local | SaaS |
| **Formats** |  |  |
| Package formats supported | Many formats | Single ecosystem |
| **Hosting** |  |  |
| Private / scoped packages | ✓ | - |
| Upstream proxy / caching | ✓ | - |
| **Resolution** |  |  |
| Lockfile / deterministic installs | ✓ | - |
| Workspaces / monorepo | ✓ | - |
| Content-addressable store | ✓ | - |
| **Supply chain** |  |  |
| Supply-chain integrity | ✓ | - |
| Vulnerability / licence scanning | - | - |
| **Licensing** |  |  |
| Openness | Open-source | Open-source |
| **Pricing** |  |  |
| Pricing model | Free / OSS | Free / OSS |

*Source: Vioscale. Generated 2026-09-01T15:20:42.246Z. "-" = undocumented, not absent.*
