Bundle install не может установить мой gem fork на GitHub - PullRequest
5 голосов
/ 27 января 2012

На GitHub я сделал форк из камня adammck-rubygsm . Моя вилка здесь https://github.com/khwang1/rubygsm.

Я хочу переключить свое приложение с оригинала на раздвоенный камень. Итак, в Gemfile я изменил строку

gem 'adammck-rubygsm'

до

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

Когда я запускаю "комплектную установку", я получаю следующую ошибку

$ 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)'

Есть идеи, почему?

Ответы [ 3 ]

2 голосов
/ 27 января 2012

Директива git должна быть указана с помощью https, как в:

gem 'resque', :require => "resque/server", git: 'https://github.com/defunkt/resque.git'
0 голосов
/ 03 августа 2013

Gemspec вашего форка может содержать имя, отличное от имени gem на RubyGems, например, когда я разветвлял active_merchant на GitHub, их файл .gemspec имел:

s.name         = 'activemerchant'

но гем определяется как active_merchant на RubyGems, поэтому я изменил свой Gemfile с:

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

до:

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

обратите внимание на отсутствие "_".

После этого все работало идеально. Это может быть неясный случай, но я надеюсь, что это кому-то поможет!

0 голосов
/ 08 февраля 2012

Спасибо за предложения.Я внес следующие изменения, чтобы успешно установить мой форк adammck-rubygsm из GitHub:

  • в моем приложении Gemfile, замените на gem 'rubygsm', :git => "git://github.com/khwang1/rubygsm.git".S.name в .gemspec Gem всегда было "rubygsm".

Тогда, при установке пакета жаловаться не удалось найти gem 'toholio-serialport'

  • в моем.gemspec вилки, удалите строку s.add_dependency("toholio-serialport", ["> 0.7.1"]).Передайте и отправьте изменения в GitHub.

Жалобы на установку пакета rubygsm did not have a valid gemspec...The validation message from Rubygems was: ["bin/gsm-app-monitor"] are not files

  • проверьте исходный код gem, файл bin / gsm-app-monitor действительно не 'не существует.В файле .gemspec моей вилки удалите "bin/gsm-app-monitor" из s.files.Зафиксируйте и отправьте изменения в GitHub.

Теперь, установка пакета успешно устанавливает gem rubygsm из моего форка gem на GitHub!

...