Можно ли напрямую установить драгоценный камень из репозитория git?

Используя bundler, вы можете сделать что-то вроде этого в Gemfile:

gem 'my_gem', :git => '[email protected]:me/my_gem.git'

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

gem install my_gem --git="[email protected]:me/my_gem.git"

Очевидно, что команда не работает, но есть ли что-то подобное? Я знаю, что могу клонировать репо, запустить gem build my_gem.gemspec, а затем gem install my_gem-1.2.3.gem. Но мне интересно, существует ли прямая однострочная линия, которая скрывает эти промежуточные шаги за кулисами.

Ответ 1

Поскольку в отличие от типичных репозиториев Git, GitHub строит драгоценные камни, если проект размещен на GitHub, а драгоценный камень найден в исходном списке то вы можете добавить GitHub в список источников, например:

$ gem sources -a http://gems.github.com

а затем установить камни по желанию за один шаг, например:

$ sudo gem install username-projectname

В противном случае нет одношагового решения, и вам нужно будет сделать что-то вроде этого:

  • загрузите файл gem zip/tar
  • gem build <gemname>.gemspec
  • sudo gem install <gemname>-x.x.x.gem