Как установить gem из исходного кода GitHub? - PullRequest
443 голосов
/ 05 апреля 2010

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

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

Ответы [ 10 ]

392 голосов
/ 05 апреля 2010

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

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

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

В обоих случаях вам нужно скачать исходник.

328 голосов
/ 14 сентября 2011

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

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

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

241 голосов
/ 02 августа 2012

Попробуйте гем specific_install , который позволяет вам установить гем из его репозитория 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 
31 голосов
/ 11 февраля 2015

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

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

# Specify a tag, ref, or branch to use
gem 'foo', git: 'git@github.com:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: 'git@github.com:dideler/foo.git', ref: '4aded'
gem 'foo', git: 'git@github.com: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

16 голосов
/ 23 июня 2011

УГОЛ (см. Комментарии)

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

$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
13 голосов
/ 06 сентября 2014

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

gem 'nokogiri', github: 'tenderlove/nokogiri'
4 голосов
/ 20 октября 2012

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

3 голосов
/ 10 мая 2017

В вашем 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
3 голосов
/ 15 марта 2012

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

1 голос
/ 30 августа 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...