¿Cuáles son los pasos necesarios para crear y publicar un rubygem de su propia?

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

  •  02-07-2019
  •  | 
  •  

Pregunta

Así que he creado un rubí de la biblioteca.

¿Cómo crear y publicar tu rubygem?Y lo de los errores más comunes y trampas hay relativos a la creación y publicación de rubygems?

¿Fue útil?

Solución

Hay varias herramientas para ayudarle a crear sus propias joyas. azada y newgem son los más conocidos, y tienen un montón de buenas cualidades.Sin embargo, la azada, se añade como una dependencia a su joya, y newgem se ha convertido en una gran herramienta, que me parece difícil de manejar cuando quiero crear e implementar una joya rápidamente.

Mi herramienta favorita es El Señor De Los Huesos por Tim Pease.Es ligero, featureful, y no agregar dependencias de tu proyecto.Para crear un proyecto con él, usted sólo tiene que ejecutar bones <my_project_name> en la línea de comandos, y un esqueleto está construido para usted, con un lib directorio de tu código, un bin directorio de sus herramientas, y un directorio de prueba.La configuración se encuentra en un Rakefile, y es claro y conciso.Esta es la configuración para un proyecto que hice hace un par de meses:

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)

El señor de los Huesos tiene el conjunto estándar de características que usted esperaría:se puede utilizar para paquete de gemas y tarfiles de su biblioteca, así como la liberación en RubyForge y la implementación de la documentación.Su asesino característica, sin embargo, es su capacidad para congelar su esqueleto en su directorio de inicio.Cuando se ejecuta bones --freeze, un directorio llamado .mrbones se copia en el directorio home.Puede editar los archivos de allí para hacer un esqueleto para su gemas que funciona de la manera de trabajar, y a partir de entonces, cuando se ejecuta huesos para crear una nueva joya, va a usar su gema del esqueleto.Usted puede descongelar el Señor de los Huesos mediante la ejecución de bones --unfreeze y su esqueleto se hará copia de seguridad, y el valor predeterminado esqueleto va a ser utilizado de nuevo.

(Nota Editorial:Escribí un post en el blog acerca de esto hace varios meses, y la mayoría de esto es copiado de él.)

Otros consejos

Recomiendo github como un lugar para empezar, especialmente para proyectos de código abierto.

Y trate de una búsqueda de google, así...Primer resultado de la búsqueda de mí...

Usted también puede querer a la caja de la Azada gema, que se puede automatizar la joya proceso de creación.

Ver: http://nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe

De hecho, me escribió un tutorial sobre esto exactamente, y lo escribí como yo estaba aprendiendo.Es más centrado en el juego, había escrito que una biblioteca.También, se supone que desea crear la joya a través de rake en lugar de en su propio:

  • Parte 1 sobre cómo crear la joya.
  • Parte 2 sobre cómo ejecutar los binarios instalados por su joya, y obtener recursos.

azada ya no se añade a sí misma como una dependencia como fuera de rubygems 1.2.Su rastrillo de tareas se centran en la implementación de la rubygem a rubyforge.Si usted sólo quiere servir a la joya de github creo que hay algunas nuevas azada-esque tarea de rake herramientas para ayudar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top