Quais são os passos necessários para criar e publicar um rubygem de seu próprio país?

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

  •  02-07-2019
  •  | 
  •  

Pergunta

Assim você criou uma biblioteca de rubi.

Como criar e publicar seu rubygem? E o que armadilhas e dicas comuns estão lá pertencentes a criação e publicação de rubygems?

Foi útil?

Solução

Existem várias ferramentas para ajudar a construir as suas próprias jóias. enxada e newgem são o mais conhecido, e tem um monte de boas qualidades. No entanto, enxada acrescenta-se como uma dependência para a sua jóia, e newgem tornou-se uma ferramenta muito grande, que eu acho difícil de manejar quando eu quero criar e implantar uma jóia rapidamente.

A minha ferramenta favorita é Mr Bones por Tim Pease. É leve, featureful, e não adicionar dependências ao seu projeto. Para criar um projeto com ele, você simplesmente executar bones <my_project_name> na linha de comando, e um esqueleto é construído para você, completo com um diretório lib para o seu código, um diretório bin para suas ferramentas, e um diretório de teste. A configuração está em um Rakefile, e é clara e concisa. Aqui está a configuração para um projeto que eu fiz há alguns 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)

Mr Bones tem o conjunto padrão de características que você esperaria: você pode usá-lo para empacotar gemas e tarfiles de sua biblioteca, bem como liberá-lo em RubyForge e implantar a documentação lá. Sua característica do assassino, porém, é a sua capacidade para congelar seu esqueleto em seu diretório home. Quando você executa bones --freeze, um diretório chamado .mrbones é copiado para seu diretório home. Você pode editar os arquivos de lá para fazer um esqueleto para as suas jóias que funciona a maneira de trabalhar, e daí em diante, quando você executar ossos para criar uma nova jóia, ele irá usar o seu esqueleto gem pessoal. Você pode descongelar Mr Bones executando bones --unfreeze e seu esqueleto será feito o backup, e o esqueleto padrão será usado novamente.

(Nota Editorial:. Eu escrevi um post sobre este há vários meses, e a maior parte deste é copiado a partir dele)

Outras dicas

Eu recomendo github como um lugar para começar, especialmente para projetos de código aberto.

E tente uma pesquisa no Google, bem ... Muito em primeiro lugar procurar resultado para mim ...

Você também pode querer fazer o checkout da jóia Hoe, que pode automatizar o processo de criação jóia.

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

Na verdade, eu escrevi um tutorial sobre exatamente isso, e eu escrevi-o como eu estava aprendendo. É mais focado no jogo que eu tinha escrito que uma biblioteca. Além disso, ele assume que você quer construir a gema através de rake em vez de em seu próprio país:

  • Parte 1 sobre como criar a jóia.
  • Parte 2 sobre como executar binários instalados por sua jóia, e obter a recursos.

enxada não acrescenta-se como uma dependência como off rubygems 1.2. Suas tarefas rake estão focados na implantação do rubygem para rubyforge. Se você quiser apenas para servir a gema de github Eu acho que há algumas novas ferramentas tarefa rake HOE-esque para ajudar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top