Bundler VS rubygems

Compare Bundler vs rubygems and see what are their differences.


By rubygems


Library packaging and distribution for Ruby. (by rubygems)
Our great sponsors
  • Mergify - Automate your Pull Request with Mergify
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
Bundler rubygems
2 116
4,822 3,026
- 1.3%
7.6 9.8
about 2 years ago 3 days ago
Ruby Ruby
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of Bundler. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-10.
  • RubyGems has the most legal problems. Explanation?
    1 project | reddit.com/r/ruby | 16 Jul 2021
    On the license in 2011: Bundler, which most people use to generate gem scaffolding, added the MIT license as default in 2011. I bet you'll see a change around that time where older gems are more likely to have a different license (Apache 2.0 maybe?) and newer gems are more often MIT. I'd also guess older gems are more likely to be indirect dependencies since they're probably (?) more likely to implement lower level pieces which were since wrapped up, so this could explain that phenomenon too.
  • Caching All Native Ruby Gem Platforms
    4 projects | dev.to | 10 Mar 2021
    If you are using Bundler version 1.x, you may also need to set the specific_platform configuration setting.


Posts with mentions or reviews of rubygems. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-07.
  • passing variables from a chef resource to other resources in the same chef recipe
    1 project | reddit.com/r/chef_opscode | 17 May 2022
    # chef -vChef Workstation version: 21.5.462 Chef Infra Client version: 17.1.35 Chef InSpec version: 4.37.20 Chef CLI version: 5.1.0 Chef Habitat version: 1.6.319 Test Kitchen version: 2.11.2 Cookstyle version: 7.13.0 * chef_gem[rest-client] action install ================================================================================ Error executing action `install` on resource 'chef_gem[rest-client]' ================================================================================ Mixlib::ShellOut::ShellCommandFailed ------------------------------------ Expected process to exit with [0], but received '2' ---- Begin output of /opt/chef/embedded/bin/gem install "rest-client" -q --no-document --source=https://rubygems.org ---- STDOUT: STDERR: ERROR: Could not find a valid gem 'rest-client' (>= 0), here is why: Unable to download data from https://rubygems.org/ - Net::OpenTimeout: execution expired (https://rubygems.org/specs.4.8.gz) ---- End output of /opt/chef/embedded/bin/gem install "rest-client" -q --no-document --source=https://rubygems.org ---- Ran /opt/chef/embedded/bin/gem install "rest-client" -q --no-document --source=https://rubygems.org returned 2
  • Unauthorized gem takeover for some gems
    7 projects | news.ycombinator.com | 7 May 2022
    Point 2 (Rubygems does not support package signing) is not true.

    Rubygems has supported package signing (`gem help cert`) since very early on, and it has an install flag `--trust-policy` which can be used to verify various things, including certs (https://github.com/rubygems/rubygems/blob/96e5cff3df491c4d94...).

    The experience in using it, however, sucks on every level. No one can really use the `High Security` policy level, because most gems aren’t signed. Most gems aren’t signed because there’s no clear benefit and it’s non-trivial to have shared certificates that can be used by multiple people authorized to release a particular gem. Most gems aren’t signed because there’s nowhere that public gem certs are published (there used to be with rubyforge), and you have to track down each cert you want to verify and download it separately.

    I used to sign my gems, but then stopped.

    Shopify has proposed a new RFC for signing gems based on sigstore. This RFC has many of the same points that I have already made as a reason for changing mechanisms. https://github.com/Shopify/rfcs/blob/new-signing-mechanism/t...

    I’ve just discovered this, so I haven’t really evaluated it, but I would prefer to sign the gems I publish.

  • File to import not found or unreadable: select2
    3 projects | reddit.com/r/rails | 4 May 2022
    source 'https://rubygems.org' ruby '2.7.5' gem 'activeadmin', '2.9.0' gem 'activeadmin_quill_editor' gem 'active_reporting' gem 'activeadmin-searchable_select' gem 'active_admin_import' gem 'api_guard' gem 'apipie-rails' gem 'azure-storage-blob', require: false gem 'bcrypt' gem 'blind_index' gem 'browser' gem 'coffee-rails' gem 'dalli' gem 'devise' gem 'emoji_flag' gem 'forecast_io' gem 'flag_shih_tzu' gem 'groupdate' gem 'i18n-active_record', github: 'svenfuchs/i18n-active_record', require: 'i18n/active_record' gem 'twilio-ruby' gem 'feedjira' gem 'httparty', '0.18.1' gem 'jquery-rails' gem 'jwt' gem 'lockbox' gem 'pg' gem 'puma' gem 'rails', '' gem 'rack-cors' gem 'rack-timeout' gem 'redis' gem 'rollbar' gem 'rqrcode' gem 'rubyzip' gem 'ruby-openai' gem 'sidekiq' gem 'sinatra', require: nil # if you require 'sinatra' you get the DSL extended to Object gem 'slack-notifier' gem 'slim' # slim and Sinatra are for the Sidekiq web ui gem 'will_paginate' group :assets do gem 'sass-rails', '~> 5.0' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', platforms: :ruby gem 'mini_racer', github: 'sqreen/mini_racer', branch: 'use-libv8-node' gem 'uglifier', '>= 1.0.3' end group :development do gem 'dotenv-rails', groups: :test gem 'launchy' gem 'listen' gem 'pry' gem 'rubocop' gem 'spring' end group :test do gem 'capybara' gem 'database_cleaner', '2.0.1' gem 'factory_bot_rails' gem 'ffaker' gem 'rspec-rails', '4.0.0.rc1' end
  • A Look at Rails Hotwire: Turbo Drive
    4 projects | dev.to | 18 Apr 2022
    create create README.md create Rakefile create .ruby-version create config.ru create .gitignore create .gitattributes create Gemfile run git init from "." Initialized empty Git repository in /Users/andymaleh/code/rails7/blog_app/.git/ create app create app/assets/config/manifest.js create app/assets/stylesheets/application.css create app/channels/application_cable/channel.rb create app/channels/application_cable/connection.rb create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/jobs/application_job.rb create app/mailers/application_mailer.rb create app/models/application_record.rb create app/views/layouts/application.html.erb create app/views/layouts/mailer.html.erb create app/views/layouts/mailer.text.erb create app/assets/images create app/assets/images/.keep create app/controllers/concerns/.keep create app/models/concerns/.keep create bin create bin/rails create bin/rake create bin/setup create config create config/routes.rb create config/application.rb create config/environment.rb create config/cable.yml create config/puma.rb create config/storage.yml create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/assets.rb create config/initializers/content_security_policy.rb create config/initializers/cors.rb create config/initializers/filter_parameter_logging.rb create config/initializers/inflections.rb create config/initializers/new_framework_defaults_7_0.rb create config/initializers/permissions_policy.rb create config/locales create config/locales/en.yml create config/master.key append .gitignore create config/boot.rb create config/database.yml create db create db/seeds.rb create lib create lib/tasks create lib/tasks/.keep create lib/assets create lib/assets/.keep create log create log/.keep create public create public/404.html create public/422.html create public/500.html create public/apple-touch-icon-precomposed.png create public/apple-touch-icon.png create public/favicon.ico create public/robots.txt create tmp create tmp/.keep create tmp/pids create tmp/pids/.keep create tmp/cache create tmp/cache/assets create vendor create vendor/.keep create test/fixtures/files create test/fixtures/files/.keep create test/controllers create test/controllers/.keep create test/mailers create test/mailers/.keep create test/models create test/models/.keep create test/helpers create test/helpers/.keep create test/integration create test/integration/.keep create test/channels/application_cable/connection_test.rb create test/test_helper.rb create test/system create test/system/.keep create test/application_system_test_case.rb create storage create storage/.keep create tmp/storage create tmp/storage/.keep remove config/initializers/cors.rb remove config/initializers/new_framework_defaults_7_0.rb run bundle install Fetching gem metadata from https://rubygems.org/........... Resolving dependencies....... Fetching rake 13.0.6 Installing rake 13.0.6 Using concurrent-ruby 1.1.10 Using builder 3.2.4 Fetching racc 1.6.0 Fetching minitest 5.15.0 Using erubi 1.10.0 Using crass 1.0.6 Using rack 2.2.3 Using nio4r 2.5.8 Using websocket-extensions 0.1.5 Using marcel 1.0.2 Using mini_mime 1.1.2 Fetching digest 3.1.0 Fetching timeout 0.2.0 Installing racc 1.6.0 with native extensions Installing digest 3.1.0 with native extensions Installing timeout 0.2.0 Installing minitest 5.15.0 Fetching strscan 3.0.1 Fetching public_suffix 4.0.7 Installing strscan 3.0.1 with native extensions Installing public_suffix 4.0.7 Fetching bindex 0.8.1 Installing bindex 0.8.1 with native extensions Fetching msgpack 1.5.1 Using bundler 2.3.1 Fetching matrix 0.4.2 Installing msgpack 1.5.1 with native extensions Installing matrix 0.4.2 Fetching regexp_parser 2.3.0 Installing regexp_parser 2.3.0 Fetching childprocess 4.1.0 Installing childprocess 4.1.0 Fetching io-console 0.5.11 Installing io-console 0.5.11 with native extensions Using method_source 1.0.0 Using thor 1.2.1 Using zeitwerk 2.5.4 Using rexml 3.2.5 Fetching rubyzip 2.3.2 Installing rubyzip 2.3.2 Fetching sqlite3 1.4.2 Installing sqlite3 1.4.2 with native extensions Using i18n 1.10.0 Using tzinfo 2.0.4 Using rack-test 1.1.0 Fetching sprockets 4.0.3 Installing sprockets 4.0.3 Fetching puma 5.6.4 Installing puma 5.6.4 with native extensions Using websocket-driver 0.7.5 Using mail 2.7.1 Fetching net-protocol 0.1.3 Installing net-protocol 0.1.3 Fetching addressable 2.8.0 Installing addressable 2.8.0 Using nokogiri 1.13.4 (x86_64-darwin) Fetching selenium-webdriver 4.1.0 Installing selenium-webdriver 4.1.0 Fetching reline 0.3.1 Installing reline 0.3.1 Using activesupport Fetching net-imap 0.2.3 Installing net-imap 0.2.3 Using net-pop 0.1.1 Fetching net-smtp 0.3.1 Installing net-smtp 0.3.1 Using loofah 2.16.0 Fetching xpath 3.2.0 Installing xpath 3.2.0 Fetching webdrivers 5.0.0 Using rails-dom-testing 2.0.3 Using globalid 1.0.0 Using activemodel Fetching bootsnap 1.11.1 Installing webdrivers 5.0.0 Installing bootsnap 1.11.1 with native extensions Fetching irb 1.4.1 Installing irb 1.4.1 Using rails-html-sanitizer 1.4.2 Fetching capybara 3.36.0 Installing capybara 3.36.0 Using activejob Using activerecord Fetching debug 1.5.0 Installing debug 1.5.0 with native extensions Using actionview Using actionpack Fetching jbuilder 2.11.5 Installing jbuilder 2.11.5 Using actioncable Using activestorage Using actionmailer Using railties Fetching sprockets-rails 3.4.2 Installing sprockets-rails 3.4.2 Using actionmailbox Using actiontext Fetching importmap-rails 1.0.3 Installing importmap-rails 1.0.3 Fetching stimulus-rails 1.0.4 Fetching turbo-rails 1.0.1 Installing stimulus-rails 1.0.4 Installing turbo-rails 1.0.1 Fetching web-console 4.2.0 Installing web-console 4.2.0 Using rails Bundle complete! 15 Gemfile dependencies, 73 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed. run bundle binstubs bundler rails importmap:install Add Importmap include tags in application layout insert app/views/layouts/application.html.erb Create application.js module as entrypoint create app/javascript/application.js Use vendor/javascript for downloaded pins create vendor/javascript create vendor/javascript/.keep Ensure JavaScript files are in the Sprocket manifest append app/assets/config/manifest.js Configure importmap paths in config/importmap.rb create config/importmap.rb Copying binstub create bin/importmap rails turbo:install stimulus:install Import Turbo append app/javascript/application.js Pin Turbo append config/importmap.rb Run turbo:install:redis to switch on Redis and use it in development for turbo streams Create controllers directory create app/javascript/controllers create app/javascript/controllers/index.js create app/javascript/controllers/application.js create app/javascript/controllers/hello_controller.js Import Stimulus controllers append pp/javascript/application.js Pin Stimulus Appending: pin "@hotwired/stimulus", to: "stimulus.min.js", preload: true" append config/importmap.rb Appending: pin "@hotwired/stimulus-loading", to: "stimulus-loading.js", preload: true append config/importmap.rb Pin all controllers Appending: pin_all_from "app/javascript/controllers", under: "controllers" append config/importmap.rb
  • How to specify multiple author(s) / email(s) in setup.py
    1 project | reddit.com/r/codehunter | 13 Apr 2022
    We wrote a small wrapper to a twitter app and published this information to http://pypi.python.org. But setup.py just contained a single field for specifying email / name of the author. How do I specify multiple contributors / email list, to the following fields since we would like this package to be listed under our names, much similar to how it shows up in http://rubygems.org.
  • Faster RuboCop runs for Rails apps
    4 projects | dev.to | 12 Apr 2022
    # gemfiles/rubocop.gemfile source "https://rubygems.org" do gem "rubocop-md", "~> 1.0" gem "rubocop-rspec" gem "standard", "~> 1.0" end
  • ExecJS::RuntimeError on Windows trying to follow rubytutorial
    1 project | reddit.com/r/codehunter | 6 Apr 2022
    source 'https://rubygems.org'gem 'rails', '3.2.8'gem 'bootstrap-sass', '2.0.0'gem 'bcrypt-ruby', '3.0.1'gem 'faker', '1.0.1'gem 'will\_paginate', '3.0.3'gem 'bootstrap-will\_paginate', '0.0.6'group :development, :test do gem 'sqlite3', '1.3.5' gem 'rspec-rails', '2.10.0' gem 'guard-rspec', '0.5.5' gem 'guard-cucumber'endgroup :development do gem 'annotate', '2.5.0'end# Gems used only for assets and not required# in production environments by default.group :assets do gem 'sass-rails' gem 'coffee-rails' gem 'coffee-script' gem 'uglifier'endgem 'jquery-rails', '2.0.2'gem 'execjs'# Gems on Linus/Mac#gem 'therubyracer'group :test do gem 'capybara', '1.1.2' gem 'guard-spork', '0.3.2' gem 'spork', '0.9.0' gem 'factory\_girl\_rails', '1.4.0' gem 'cucumber-rails', '1.2.1', require: false gem 'database\_cleaner', '0.7.0'# Test gems on Linux# gem 'rb-inotify', '0.8.8'# gem 'libnotify', '0.5.9'# Test gems on Macintosh OS X# gem 'selenium-webdriver', '~> 2.22.0'# gem 'rb-fsevent', '0.9.1', :require => false# gem 'growl', '1.0.3'# Test gems on Windows# gem 'rb-fchange', '0.0.5'# gem 'rb-notifu', '0.0.4'# gem 'win32console', '1.3.0'endgroup :production do# gem 'therubyracer' gem 'pg', '0.12.2'end# To use ActiveModel has\_secure\_password# gem 'bcrypt-ruby', '~> 3.0.0'# To use Jbuilder templates for JSON# gem 'jbuilder'# Use unicorn as the app server# gem 'unicorn'# Deploy with Capistrano# gem 'capistrano'# To use debugger#gem 'debugger'' and here is the sessions.js.coffee
  • Any performance/memory issue with Ruby 3.x compared to 2.7?
    7 projects | reddit.com/r/ruby | 30 Mar 2022
  • How I built my own blog without much coding
    6 projects | dev.to | 29 Mar 2022
    gem or RubyGems is a package manager for Ruby, just like how we have npm, pip and cargo for Node, Python and Rust. Jekyll must be downloaded as a gem package, so we use gem command to do that. But for building the website locally we need lot of other tools, github-pages gem provides these tools for us, jekyll is also packaged along with github-pages. Therefore you need to install only github-pages gem.
  • Deploy iOS Application to AppCenter via Github Actions (Manual Code SignIn)
    2 projects | dev.to | 28 Mar 2022
    source "https://rubygems.org" gem 'dotenv-rails', groups: [:development, :test] gem "fastlane" gem "xcode-install" gem "cocoapods" plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') eval_gemfile(plugins_path) if File.exist?(plugins_path)

What are some alternatives?

When comparing Bundler and rubygems you can also consider the following projects:

RubyGems - The Ruby community's gem hosting service.

spaCy - 💫 Industrial-strength Natural Language Processing (NLP) in Python

gemdiff - Find source repositories for ruby gems. Open, compare, and update outdated gem versions

Nokogiri - Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.

Gem in a Box - Really simple rubygem hosting

dotenv - A Ruby gem to load environment variables from `.env`.

gemstash - A RubyGems.org cache and private gem server

Nodemailer - ✉️ Send e-mails with Node.JS – easy as cake!

verdaccio - 📦🔐 A lightweight Node.js private proxy registry

jbuilder - Jbuilder: generate JSON objects with a Builder-style DSL

PrismJS - Lightweight, robust, elegant syntax highlighting.

Spring - Rails application preloader