Quelles sont les étapes nécessaires pour créer et publier votre propre rubygem?

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

  •  02-07-2019
  •  | 
  •  

Question

Vous avez donc créé une bibliothèque Ruby.

Comment créez-vous et publiez-vous votre rubygem? Et quels sont les pièges et les pièges courants liés à la création et à la publication de rubygems?

Était-ce utile?

La solution

Il existe plusieurs outils pour vous aider à construire vos propres joyaux. hoe et newgem sont les plus connus et ont beaucoup de qualités. Cependant, hoe s’ajoute une dépendance à votre bijou, et newgem est devenu un très gros outil, un outil que je trouve difficile à manier lorsque je veux créer et déployer rapidement un bijou.

Mon outil préféré est M. Bones de Tim Pease. Il & # 8217; est léger, riche en fonctionnalités et n’ajoute pas de dépendances à votre projet. Pour créer un projet avec celui-ci, il vous suffit d’exécuter bones <my_project_name> sur la ligne de commande. Un squelette est créé pour vous, avec un répertoire lib pour votre code, un répertoire bin pour vos outils et un répertoire de test. . La configuration est dans un Rakefile, et & # 8217; est clair et concis. Voici la configuration d'un projet que j'ai réalisé il y a quelques mois:

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)

M. Bones dispose des fonctionnalités standard que vous attendez! & # 8217; vous pouvez vous en servir pour conditionner des gemmes et des fichiers compressés de votre bibliothèque, ainsi que pour les publier sur RubyForge et y déployer votre documentation. Sa principale caractéristique, cependant, est sa capacité à geler son squelette dans votre répertoire personnel. Lorsque vous exécutez bones --freeze, un répertoire nommé .mrbones est copié dans votre répertoire de base. Vous pouvez éditer les fichiers qui s'y trouvent pour créer un squelette pour vos pierres précieuses qui fonctionne de la même manière que vous. Dès lors, lorsque vous exécutez bones pour créer une nouvelle gemme, il utilisera votre squelette personnel. Vous pouvez libérer M. Bones en exécutant bones --unfreeze. Votre squelette sera sauvegardé. Le squelette par défaut sera réutilisé.

(Note éditoriale: j’ai écrit un article à ce sujet il y a plusieurs mois dans un blog, dont la majeure partie est copiée.)

Autres conseils

Je recommande github comme point de départ, en particulier pour les projets open source.

Et essayez aussi une recherche sur Google ... Tout premier résultat de recherche pour moi ...

Vous pouvez également consulter la gemme Hoe, qui peut automatiser le processus de création de la gemme.

Voir: http://nubyonrails.com/articles/tutorial-publishing -rubygems avec houe

En fait, j’ai écrit un tutoriel sur exactement cela, et je l’ai écrit pendant que j’apprenais. C'est plus centré sur le jeu que j'avais écrit qu'une bibliothèque. En outre, cela suppose que vous souhaitiez construire la gemme via un râteau plutôt que par vous-même:

  • Partie 1 sur la création de la gemme.
  • Partie 2 sur la procédure à suivre exécutez les fichiers binaires installés par votre bijou et accédez aux ressources.

hoe ne s’ajoute plus comme dépendance à partir de rubygems 1.2. Ses tâches de commission sont axées sur le déploiement du rubygem à rubyforge. Si vous voulez simplement servir la gemme de github, je pense qu’il ya quelques nouveaux outils de travail de ratissage hoe-esque pour vous aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top