Как установить gem из источника GitHub?

Я хотел бы установить gem из последнего источника GitHub.

Как это сделать?

Ответ 1

Если вы используете bundler, вам нужно добавить что-то вроде этого в ваш Gemfile:

gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'

И если есть файл .gemspec, он должен иметь возможность извлекать и устанавливать драгоценный камень при запуске bundle install.

Ответ 2

хорошо, это зависит от рассматриваемого проекта. Некоторые проекты имеют *.gemspec файл в корневом каталоге. В этом случае это будет

gem build GEMNAME.gemspec
gem install gemname-version.gem

В других проектах есть задача rake, называемая "gem" или "build" или что-то в этом роде, в этом случае вам нужно вызывать "rake", но это зависит от проекта.

В обоих случаях вам необходимо загрузить источник.

Ответ 3

Попробуйте specific_install gem, он позволяет вам установить драгоценный камень из своего репозитория github (например, "edge" ) или из произвольный URL. Очень полезно для рисования драгоценных камней и взлома на них на нескольких машинах и т.д.

gem install specific_install
gem specific_install -l <url to a github gem>

например.

gem specific_install https://github.com/githubsvnclone/rdoc.git 

Ответ 4

Bundler позволяет использовать гемы прямо из репозиториев git. В вашем Gemfile:

# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: '[email protected]:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'

# Specify a tag, ref, or branch to use
gem 'foo', git: '[email protected]:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: '[email protected]:dideler/foo.git', ref: '4aded'
gem 'foo', git: '[email protected]:dideler/foo.git', branch: 'development'

# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'

Для получения дополнительной информации см. Https://bundler.io/v2.0/guides/git.html.

Ответ 5

OBSOLETE (см. комментарии)

Если проект из github и содержится в списке http://gems.github.com/list.html, вы можете просто добавить репозиторий github в источники камней для его установки:

$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname

Ответ 6

Если вы получаете свои драгоценные камни из публичного репозитория GitHub, вы можете использовать сокращенное

gem 'nokogiri', github: 'tenderlove/nokogiri'

Ответ 7

Также вы можете сделать gem install username-projectname -s http://gems.github.com

Ответ 8

Если вы устанавливаете с помощью связующего, как было предложено gryzzly, а gem создает двоичный файл, тогда убедитесь, что вы запустили его с помощью bundle exec mygembinary, поскольку драгоценный камень хранится в каталоге поставщика, который не отображается на пути нормальной жемчужины.

Ответ 9

В Gemfile добавьте следующее:

gem 'example', :git => 'git://github.com/example.git'

Вы также можете добавить опции ref, branch и tag,

Например, если вы хотите загрузить с определенной ветки:

gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"

Затем запустите:

bundle install

Ответ 10

На новой машине с Linux вам также нужно установить git. Bundle использует это за кулисами.