/ / Installa gem da git forked - sembra che sia installato ok ma non è nella lista gem e e non posso richiederlo - github, gem, bundle, bundler

Installa gem da git forked - sembra che sia installato ok ma non è nella lista gem e e non posso richiederlo - github, gem, bundle, bundler

Scusa se questo è un duplicato, ho visto un paio di domande su bundler e git, ma non lo capisco.

Ho biforcato una gemma che è sul github - la mia forchetta è https://github.com/toastkid/contentapi-ruby

Nel mio Gemfile, ho cambiato la gemma per usare l'opzione: git, indicando la mia nuova forchetta:

gem "guardian-content", :git => "git://github.com/toastkid/contentapi-ruby.git"

Allora l'ho fatto

bundle update guardian-contente ha detto

Using guardian-content (0.2.2) from git://github.com/toastkid/contentapi-ruby.git (at master)

Pensavo che ciò significasse che ora avrei installato il gioiello, ma non lo sono: non lo è gem liste non posso richiedere la gemma in una console rubino.

Ho letto che github non fa gem hosting di nessunoDi Più. Non sono al 100% su cosa questo significhi realmente (gem hosting invece di ospitare il codice sorgente per la gemma?). Quindi, ho clonato la mia forchetta fino alla mia macchina e l'ho costruita lì, poi ho cambiato linea in Gemfile puntare alla cartella locale contenente il file gemspec:

gem "guardian-content", :path => "./gems/contentapi-ruby"

Allora l'ho fatto

bundle update guardian-content

di nuovo, e questa volta ha detto

Using guardian-content (0.2.2) from source at ./gems/contentapi-ruby

Ancora nessuna gemma per i guardiani gem list, ancora non può richiederlo.

Qualcuno può dirmi dritto? Come posso usare il mio fork (ideale) o costruito localmente (se necessario), gem in bundle install? Ho intenzione di distribuire questo al mio server, quindi è necessario farlo funzionare in modo affidabile.

grazie, max

risposte:

3 per risposta № 1

Usando gemme da git (o dal filesystem locale)con: path) in Bundler non li installa sul tuo GEM_HOME, quindi non sono disponibili per RubyGems nel solito modo, ma li rende disponibili a Bundler purché siano nel Gemfile.

Se vuoi includere la gemma in irb, assicurati che Gemfile e Gemfile.lock siano nella directory corrente e (in irb) fai questo:

require `bundler/setup"
require "guardian-content"

A seconda della versione di Ruby / RubyGems (e del tuo $ RUBYOPT) potrebbe essere necessario require "rubygems" prima di te require "bundler/setup"