Guides
- RubyGems Basics
- What is a gem?
- Make your own gem
- Gems with Extensions
- Name your gem
- Publishing your gem
- Security Practices
- Managing owners using UI
- Removing a Published gem
- SSL Certificate Update
- Patterns
- Specification Reference
- Command Reference
- RubyGems.org API
- RubyGems.org API V2.0
- RubyGems.org Compact Index API
- RubyGems.org rate limits
- API key scopes
- Run your own gem server
- Setting up multi-factor authentication
- Using multi-factor authentication in command line
- MFA requirement opt in
- Using S3 as gem source
- Default gems and bundled gems
- Resources
- Contributing to RubyGems
- Frequently Asked Questions
- Plugins
- Common Vulnerabilities and Exposures
- Trusted Publishing
- Organizations
- Credits
Bundler
- Bundler in gems
- Gemfiles
- Getting Started
- How to Upgrade to Bundler 2
- How to deploy bundled applications
- How to install gems from git repositories
- How to manage application dependencies with Bundler
- How to manage groups of gems
- How to manage dependencies with Bundler
- How to troubleshoot RubyGems and Bundler TLS/SSL Issues
- How to update gems with Bundler
- How to use Bundler in a single-file Ruby script
- How to use Bundler with Docker
- How to use Bundler with Rails
- How to use Bundler with Ruby
- How to use Bundler with RubyMotion
- How to use Bundler with Sinatra
- How to use git bisect with Bundler
- How to write a Bundler plugin
- Known Plugins
- Recommended Workflow with Version Control
- Ruby Directive
Resources
Great blog posts, tutorials, and other sites to help you out.
A collection of helpful material about RubyGems. Feel free to fork and add your own!
Tutorials
- Making Ruby Gems
- Gemcutter & Jeweler
- MicroGems: five minute RubyGems - Gems so small that you can store them in a gist.
- Let’s Write a Gem: Part 1 and Part 2
- Polishing Rubies
- A Practical Guide to Using Signed Ruby Gems - Part 1: Bundler
- Basic RubyGem Development and Intermediate RubyGem Development
- How to make a Rubygem and How to make a Rubygem: Part Two
- Crafting Gems - A tutorial from RailsConf 2013.
- How to cryptographically sign your RubyGem - Step-by-step guide
Presentations
Philosophy
- Semantic Versioning
- Ruby Packaging Standard
- Why
require 'rubygems'Is Wrong - How to Name Gems
- Make the world a better place; put a license in your gemspec
Patterns
Creating
Tools to help build gems.
- gemerator - Minimalist tool for generating skeleton gems.
- hoe - Rake/RubyGems helper.
- Jeweler - Opinionated tool for managing RubyGems projects.
- micro-cutter - Tool to build the base files for a MicroGem.
- newgem - New gem generator.
- RStack - Generator intended for use on private gems.
- rubygems-tasks - Rake tasks for building, installing, and releasing Ruby Gems.
- ore - Project generator with a variety of templates.
- Omnibus - Generate full-stack installers for ruby code (see this Omnibus tutorial for instructions on using it to package a standalone RubyGem.)
Monitoring
Tools to watch gems for changes.
- Depfu - Depfu continuously updates your dependencies one gem at a time and creates a pull request with all the info you need. Free for open source.
- Gemnasium - Parses your GitHub projects to learn what to notify you about. Free for public repos only.
- Gemnasium gem - Allows you to use Gemnasium without granting it access to private repos.
- gemwhisperer
- Libraries.io - Get alerts for new versions of the gems you depend upon.
Hosting and Serving
- Geminabox - Host your own gems, with a rubygems-compatible API.
- Gem Mirror - Run an internal mirror of external gem sources.
- Gemfury - Private cloud-based RubyGems servers. Priced by number of collaborators.
Utilities
- gemnasium-parser - Determine dependencies without evaluating the ruby in gemfiles or gemspecs
- Gemrat - Add the latest version of a gem to your Gemfile from the command line.