Guides
Getting Started
Guides
Dependency Management
- How to manage application dependencies with Bundler
- How to manage dependencies with Bundler
- How to update gems with Bundler
- How to manage groups of gems
- How to install gems from git repositories
- How to develop multiple gems in one repository
- How to use Bundler with Ruby
- How to use Bundler in a single-file Ruby script
- How to deploy bundled applications
Gem Development
Publishing & Security
- Trusted Publishing
- Setting up multi-factor authentication
- Using multi-factor authentication in command line
- Managing owners using UI
- Organizations
- Removing a Published gem
- Security Practices
- How to delay new gem versions with cooldown
Integrations
- How to use Bundler with Rails
- How to use Bundler with Sinatra
- How to use Bundler with Docker
- How to use Bundler in CI
Hosting & Sources
Extending
Troubleshooting
- Troubleshooting common issues
- How to troubleshoot RubyGems and Bundler TLS/SSL Issues
- How to use git bisect with Bundler
Concepts
- What is a gem?
- Gemfile and gemspec
- Where gems are installed and how they load
- How dependency resolution works
- How Gemfile.lock works
- Versioning and compatibility
- Platforms and native gems
- Caching and vendoring
- Default gems and bundled gems
- Common Vulnerabilities and Exposures
Reference
- gem Command Reference
- Bundler Command Reference
- Gemfile Reference
- Ruby Directive
- Specification Reference
- RubyGems.org API
- RubyGems.org Compact Index API
- RubyGems.org rate limits
- API key scopes
- Bundler compatibility with Ruby
- Configuration (.gemrc)
- Environment variables
- Known Bundler Plugins
Appendix
Credits
This site is open source and its content is Creative Commons licensed.
Contributors
These people have donated time to creating and improving the RubyGems Guides site:
- Gabe Berke-Williams
- Gregory Brown
- Amaia Castro
- Ryan Davis
- Vijay Dev
- Evgene Dzhelyov
- Mike Gunderloy
- Gabriel Horner
- Richard Michael
- John Lees-Miller
- Mark McSpadden
- Erik Michaels-Ober
- Scott Moak
- Jason Morrison
- Ryan Neufeld
- Nick Quaranto
- Sebastian Spier
- Antonio Terceiro
- thrackle
Acknowledgments
Material for the Guides was adapted from these sources:
- Gem Packaging: Best Practices
- Gem Sawyer, Modern Day Ruby Warrior
- How to Name Gems
- Rubygems Good Practice
- Writing Ruby C extensions: Part 1
- Writing Ruby C extensions: Part 2
Hosting
Hosted by GitHub Pages.