web-dev-qa-db-ja.com

GitHubソースからgemをインストールする方法?

最新のGitHubソースからgemをインストールしたいのですが。

どうやってこれをするの?

442
Vojto

バンドラーを使用している場合は、Gemfileに次のようなものを追加する必要があります。

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

.gemspecファイルがある場合は、bundle installを実行するとgemを取得してインストールできるはずです。

328
Misha Reyzlin

問題のプロジェクトによって異なります。一部のプロジェクトでは、そのルートディレクトリに* .gemspecファイルがあります。その場合、それは

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

他のプロジェクトには "gem"や "build"などのレーキタスクがあります。この場合は "rake"を呼び出す必要がありますが、プロジェクトによって異なります。

どちらの場合もソースをダウンロードする必要があります。

391
Dominik Honnef

specific_install gemを試すと、githubリポジトリ( 'Edge'など)から、または任意のURLからgemをインストールできます。宝石をフォークし、複数のマシンなどでそれらをハッキングするのに非常に便利です。

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

例えば.

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

Bundler を使うと、gitリポジトリから直接gemを使うことができます。あなたの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 を参照してください。

31
Dennis

OBSOLETE(コメント参照)

プロジェクトがgithubからのもので、 http://gems.github.com/list.html のリストに含まれている場合は、追加できます。それをインストールするためにGithubレポジトリはgemのソースにレポ:

$ gem sources -a http://gems.github.com
$ Sudo gem install username-projectname
16
Michael Pereira

GitHubの公開リポジトリから宝石を入手している場合は、以下の短縮形を使用できます。

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

gem install username-projectname -s http://gems.github.comもできます

4
Chuck Vose

Gryzzlyによって提案されているようにbundlerを使ってインストールし、gemがバイナリを作成する場合、gemは通常のgemパスでは見えないbundlerディレクトリに格納されているので、bundle exec mygembinaryを付けて実行してください。

3
Mark Cheverton

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
slal

新しいLinuxマシンでは、gitコマンドもインストールする必要があります。 bundleコマンドはそれを舞台裏で使用します。

1
user1208639