2017-02-09 11 views
0

У меня есть частный драгоценный камень, который называется X, исходный код которого размещен на Github. Если я хочу использовать X в проекте, я добавляю gem 'X', :git => '[email protected]:my-org/x.git' в мой проект Gemfile. Затем я могу запустить irb и ввести require 'bundler/setup', а затем require 'x'. Доступна функциональность X.Как мне получить частный рубиновый камень из другого частного рубинового драгоценного камня?

Теперь у меня есть другой частный драгоценный камень, называемый Y, исходный код которого также размещен на Github. Я хочу использовать X с точностью до Y.

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

ответ

-1

Если ваш ключ SSH настроен на GitHub это будет работать:

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

Вы можете проверить это, запустив ssh -t [email protected]

Другие варианты используют имя пользователя и пароль и основные AUTH:

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 [email protected]: my-org/x.git еще не зарегистрирован. Перед запуском приложения запустите \ 'bundle install \'. – jerzy

+0

Да, вам нужно запустить 'bundle install' перед созданием – Raphael

 Смежные вопросы

  • Нет связанных вопросов^_^