Gem — это стандартный формат пакетов в Ruby, содержащий код, документацию и метаданные. Это аналог npm-пакетов для Node.js или pip-пакетов для Python. Gems позволяют:
Типичный gem включает:
lib
)spec
или test
)gem install gem_name
gem search query
gem list
gem update gem_name
gem update --system # Обновление самого RubyGems
require 'gem_name'
Создайте Gemfile
:
source 'https://rubygems.org'
gem 'rails'
gem 'nokogiri'
gem 'pry', group: :development
Затем выполните:
bundle install
gem install bundler
bundle gem my_gem
Отредактируйте my_gem.gemspec
:
spec.version = "0.1.0"
spec.authors = ["Your Name"]
spec.summary = "Краткое описание"
spec.description = "Подробное описание"
spec.homepage = "https://github.com/username/my_gem"
gem build my_gem.gemspec
gem push my_gem-0.1.0.gem
require 'httparty'
response = HTTParty.get('https://api.github.com/users/octocat')
puts response.body
gem 'rails', '```> 6.1.4' # Версия 6.1.4 и обновления патчей
gem 'devise', '>= 4.8.0' # Версия 4.8.0 или выше
bundle update
)bundle outdated
)gem dependency gem_name
gem cleanup
gem info gem_name
Резюмируем: Gems — это фундаментальная часть экосистемы Ruby, предоставляющая мощный механизм для распространения и использования библиотек. Использование Bundler в сочетании с RubyGems является стандартом для управления зависимостями в современных Ruby-проектах. Понимание работы с gems необходимо каждому Ruby-разработчику, от установки готовых библиотек до создания и публикации собственных решений.
Для профессиональной работы рекомендуется: всегда указывать версии зависимостей, использовать группы gems, регулярно обновлять зависимости и проверять уязвимости в используемых библиотеках.