Как я могу надежно использовать код из github в vendor / gems? - PullRequest
1 голос
/ 30 сентября 2011

Мне нравится продавать как можно больше драгоценных камней, кроме тех, которые должны быть собраны на каждой платформе (libxml и т. Д.), Но иногда мне нравится использовать какой-то передовой код, а не драгоценные камни, которые есть в этом драгоценном камне.серверы.

Могу ли я клонировать гем github непосредственно вендора / гемов.Я думаю, что мог, но повлияет ли это на код моего приложения, так как это уже git-репозиторий?Я хотел бы просто периодически выполнять git-тяги для этих двух драгоценных камней, чтобы мне не приходилось обновлять каждый драгоценный камень и, возможно, что-то ломать.

1 Ответ

6 голосов
/ 30 сентября 2011

Использование vendor/gems устарело в пользу использования Bundler и Gemfile.Система поставщика имела ряд недостатков, в том числе отсутствие поддержки скомпилированных расширений, поэтому она никогда не была полным решением.

Вам лучше блокировать свои версии в Gemfile по мере необходимости.Если вы хотите использовать самые передовые версии, закомментируйте объявление версии, удалите Gemfile.lock и снова выполните bundle install.

Часто в опубликованной версии драгоценного камня есть недостаток, который вам необходиморемонт путем разветвления и исправления, так что это легко отследить:

gem 'broken-gem', :git => 'git://github.com/myname/broken-gem.git'

Преимущество здесь в том, что Gemfile служит документацией о том, какие версии драгоценных камней вам требуются, и где их получить.vendor/gems оставляет людей в неведении относительно того, откуда появилась эта версия.

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