Как установить gem из исходного кода GitHub?
Я хотел бы установить gem из последней версии GitHub.
Как мне это сделать?
10 ответов
Если вы используете bundler, вам нужно добавить что-то вроде этого в ваш Gemfile:
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'
И в случае, если есть .gemspec
файл, он должен быть в состоянии получить и установить гем при запуске bundle install
,
Хорошо, это зависит от проекта. Некоторые проекты имеют файл *.gemspec в своей корневой директории. В этом случае это будет
gem build GEMNAME.gemspec
gem install gemname-version.gem
Другие проекты имеют задачу rake, называемую "gem" или "build" или что-то в этом роде, в этом случае вам нужно вызвать "rake", но это зависит от проекта.
В обоих случаях вам необходимо скачать исходный код.
Попробуйте gem 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
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'
Для получения дополнительной информации см. http://bundler.io/git.html
OBSOLETE (см. Комментарии)
Если проект от github и содержится в списке на http://gems.github.com/list.html, то вы можете просто добавить репозиторий github к источникам gems, чтобы установить его:
$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
Если вы получаете свои драгоценные камни из общедоступного репозитория GitHub, вы можете использовать сокращение
gem 'nokogiri', github: 'tenderlove/nokogiri'
Также вы можете сделать gem install username-projectname -s http://gems.github.com
Вы также можете использовать https://github.com/rdp/specific_install:
gem install specific_install
gem specific_install https://github.com/capistrano/drupal-deploy.git
В вашем Gemfile добавьте следующее:
gem 'example', :git => 'git://github.com/example.git'
Вы также можете добавить ссылки, параметры ветки и теги,
Например, если вы хотите скачать из определенной ветки:
gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"
Затем запустите:
bundle install
Если вы устанавливаете с помощью bundler в соответствии с предложением gryzzly и гем создает двоичный файл, убедитесь, что вы запустили его с bundle exec mygembinary
поскольку драгоценный камень хранится в каталоге комплектов, который не виден в обычном пути драгоценного камня.
На новой машине с Linux вам также необходимо установить команду git. Команда bundle использует это за кулисами.