2012-01-27 14 views
5

Na GitHub, zrobiłem widelec klejnotu adammck-rubygsm. Moje widelec jest tutaj https://github.com/khwang1/rubygsm.Instalacja pakietu nie powiedzie się, aby zainstalować mój klejnot widelca na GitHub

Chcę zmienić aplikację z oryginału na mój rozwidlony klejnot. Tak więc, w Gemfile zmieniłem linię

gem 'adammck-rubygsm' 

do

gem 'adammck-rubygsm', :git => "git://github.com/khwang1/rubygsm.git" 

Kiedy uruchamiam "bundle install", pojawia się następujący awarię

$ bundle install 
Updating git://github.com/khwang1/rubygsm.git 
Fetching source index for http://rubygems.org/ 
Could not find gem 'adammck-rubygsm (>= 0)' in git://github.com/khwang1/rubygsm.git (at master). 
Source does not contain any versions of 'adammck-rubygsm (>= 0)' 

Wszelkich pomysłów, dlaczego?

+1

Czy próbowałeś zamienić rubygsm na adammck-rubygsm w swoim pliku rubygsm.gemspec? Dla zmiennej s.name.Lub może zastąpić klejnot "adammck-rubygsm" z gem 'khwang1-rubygsm' w Gemfile. –

+0

Dzięki za sugestię. Nazwa s.name w oryginalnym klejnocie i moim widelcu zawsze była "rubygsm". Wprowadziłem zmianę w Gemfile z "gem" adammck-rubygsm "" do "gem 'rubygsm" ", co pomogło mi trochę. –

Odpowiedz

2

Dyrektywa git musi być określona z https, na przykład:

gem 'resque', :require => "resque/server", git: 'https://github.com/defunkt/resque.git' 
0

Dzięki za sugestie. I dokonała następujących zmian w celu pomyślnego zainstalowania my fork of adammck-rubygsm wiązka od GitHub:

  • w mojej aplikacji Gemfile zmień gem 'rubygsm', :git => "git://github.com/khwang1/rubygsm.git". Nazwa s.name w Gem .gemspec zawsze była "rubygsm".

Następnie zainstalować pakiet narzeka nie mógł znaleźć klejnot 'toholio-SerialPort'

  • w .gemspec widelec gem, usunąć linię s.add_dependency("toholio-serialport", ["> 0.7.1"]). Zatwierdź i przesuń zmianę na GitHub.

Bundle zainstalować narzeka rubygsm did not have a valid gemspec...The validation message from Rubygems was: ["bin/gsm-app-monitor"] are not files

  • zbadać dorsza źródłowy gem, plik bin/GSM-app-Monitor rzeczywiście nie istnieje. W pliku .gemspec mojego widelca klej, usuń "bin/gsm-app-monitor" z s.files. Zatwierdź i przesuń zmianę na GitHub.

Teraz, instalacja pakietu pomyślnie instaluje gem rubygsm z mojego klejnotu widelca na GitHub!

0

gemspec z widelca może zawierać inną nazwę niż gem na RubyGems, na przykład kiedy rozwidlone active_merchant na GitHub ich plik .gemspec miał:

s.name   = 'activemerchant' 

ale gem jest zdefiniowany jako active_merchant na RubyGems więc zmieniłem Gemfile od:

gem "active_merchant", git: "https://github.com/adamwaite/active_merchant.git", require: "active_merchant" 

do:

gem "activemerchant", git: "https://github.com/adamwaite/active_merchant.git", require: "active_merchant" 

zanotuj brak "_".

Wszystko działało idealnie po tym. Może to być niejasny przypadek, ale mam nadzieję, że pomoże komuś!

Powiązane problemy