Какие шаги необходимо предпринять, чтобы создать и опубликовать собственный RubyGem?

StackOverflow https://stackoverflow.com/questions/120191

  •  02-07-2019
  •  | 
  •  

Вопрос

Итак, вы создали библиотеку Ruby.

Как вы создаете и публикуете свой RubyGem?И какие распространенные ошибки и ошибки существуют при создании и публикации рубигемов?

Это было полезно?

Решение

Есть несколько инструментов, которые помогут вам создать свои собственные драгоценные камни. мотыга и Ньюджем являются самыми известными и обладают множеством хороших качеств.Однако hoe добавляет себя в качестве зависимости к вашему драгоценному камню, и newgem стал очень большим инструментом, который я считаю громоздким, когда мне нужно быстро создать и развернуть драгоценный камень.

Мой любимый инструмент Мистер Боунс Тим Пиз.Он легкий, функциональный и не добавляет зависимостей в ваш проект.Чтобы создать с его помощью проект, просто запустите bones <my_project_name> в командной строке, и для вас создается скелет, дополненный lib каталог для вашего кода, bin каталог для ваших инструментов и тестовый каталог.Конфигурация находится в Rakefile, и это ясно и лаконично.Вот конфигурация проекта, который я сделал несколько месяцев назад:

load 'tasks/setup.rb'

ensure_in_path 'lib'
require 'friend-feed'

task :default => 'test'

PROJ.name = 'friend-feed'
PROJ.authors = 'Clinton R. Nixon'
PROJ.email = 'crnixon@gmail.com'
PROJ.url = 'friend-feed.rubyforge.org'
PROJ.rubyforge_name = 'friend-feed'
PROJ.dependencies = ['json']
PROJ.version = FriendFeed::VERSION
PROJ.exclude = %w(.git pkg)

Mr Bones имеет стандартный набор функций, который вы ожидаете:вы можете использовать его для упаковки драгоценных камней и tar-файлов вашей библиотеки, а также выпустить его на RubyForge и развернуть там свою документацию.Однако его отличительной особенностью является способность заморозить свой скелет в вашем домашнем каталоге.Когда ты бежишь bones --freeze, каталог с именем .mrbones копируется в ваш домашний каталог.Вы можете редактировать файлы в нем, чтобы создать скелет для ваших драгоценных камней, который будет работать так же, как вы, и с этого момента, когда вы запускаете кости для создания нового драгоценного камня, он будет использовать ваш личный скелет драгоценного камня.Вы можете разморозить мистера Боунса, запустив bones --unfreeze и ваш скелет будет скопирован, и снова будет использован скелет по умолчанию.

(Примечание редакции:Несколько месяцев назад я написал об этом сообщение в блоге, и большая часть текста скопирована оттуда.)

Другие советы

Я рекомендую github как отправная точка, особенно для проектов с открытым исходным кодом.

А еще попробуйте поискать в Гугле...Самый первый результат поиска для меня...

Вы также можете попробовать драгоценный камень Hoe, который может автоматизировать процесс создания драгоценного камня.

Видеть: http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe

На самом деле я написал руководство именно по этому вопросу, и писал его, пока учился.Он больше ориентирован на игру, которую я написал, чем на библиотеку.Кроме того, предполагается, что вы хотите собрать драгоценный камень с помощью rake, а не самостоятельно:

  • Часть 1 о том, как создать драгоценный камень.
  • Часть 2 о том, как запускать двоичные файлы, установленные вашим драгоценным камнем, и получать доступ к ресурсам.

hoe больше не добавляется в качестве зависимости, как в Rubygems 1.2.Его рейк-задачи сосредоточены на развертывании RubyGem в RubyForge.Если вы просто хотите подать драгоценный камень с GitHub, я думаю, вам помогут некоторые новые инструменты для выполнения задач по грабли.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top