2017-02-09 19 views
0

Xというプライベートな宝石があります。この宝石のソースコードはGithubでホストされています。プロジェクトにXを使用する場合は、プロジェクトのGemfilegem 'X', :git => '[email protected]:my-org/x.git'を追加します。 irbを起動し、require 'bundler/setup'と入力してからrequire 'x'と入力します。 Xの機能を利用できます。別のプライベートルビーの宝石からプライベートルビーの宝石を要求するにはどうすればいいですか?

私はYと呼ばれる別のプライベートな宝石を持っています。ソースコードもGithubでホストされています。 YからXを使用したいと思います。

どうすればこの問題を解決できますか?

答えて

-1

あなたのSSHキーがgithubの上に構成されている場合、これは動作します:

gem 'gem', :git => '[email protected]:user/gem.git', :ref => 'ref' 

あなたはssh -t [email protected]

その他のオプションを実行して、それをテストすることができ、あなたのユーザ名とパスワードと基本認証を使用している:

gem 'gem', git: 'https://user:[email protected]/user/gem.git' 

安全にパスワードを保護するために環境変数を使用する:

gem 'gem', :git => "https://#{ENV['gem_username']}:#{ENV['gem_password']}@github.com/gem.git" 

この最後の例は、CIサーバーを使用してプロジェクトを展開している場合にも便利です。

+0

これらの行が宝石の 'Gemfile'に入ると仮定していると仮定すると、これはうまくいきません。 'gem build y.gemspec'を実行すると、' git source [email protected]:my-org/x.gitはまだチェックアウトされていません。アプリケーションを起動する前に\ 'bundle install \'を実行してください。 – jerzy

+0

はい、ビルドする前に 'bundle install'を実行する必要があります – Raphael

関連する問題