Gem или Plugin, что хорошо для проекта ruby ​​on rails - PullRequest
1 голос
/ 25 февраля 2010

При развертывании на другой машине я столкнулся с некоторой проблемой с самоцветом рельсов. Требуется дополнительная работа по установке гема. Что больше всего подходит для проекта рельсов. Плагин или Gem. Для некоторых драгоценных камней соответствующие плагины не найдены.

Я ищу преимущества использования плагина над гемами и наоборот.

Ответы [ 3 ]

3 голосов
/ 25 февраля 2010

Вы можете распаковать гемы в ваше приложение Rails, что обеспечит их развертывание вместе с вашим приложением:

rake gems:unpack:dependencies

Теперь вам больше не нужно устанавливать драгоценные камни на сервере, на котором вы развертываете. Это уже решает большинство проблем развертывания. Большинство других решается с помощью Bundler , который будет включен в Rails 3.

Если можете, используйте гемы над плагинами. Gems обычно проще в управлении, потому что их версия превосходит плагины. Для публичных расширений Rails я не вижу причин использовать плагины вместо гемов, но некоторые авторы предлагают только один из двух. В этом случае у вас нет выбора.

1 голос
/ 26 февраля 2010

Для меня плагины предпочтительнее. Я сталкивался со многими ситуациями, когда у меня неправильно настроен environment.rb, и гемам не будут назначены версии для них. Затем администратор сервера делает:

sudo gem update

И теперь мои тесты rspec не будут запускаться, потому что в обновлении установлен тестовый модуль 1.2.2, а для моей конкретной установки требуется 1.0.1 (или что-то еще).

1 голос
/ 25 февраля 2010

Обычно я всегда использую плагин, если он доступен, так как он замораживается в проекте, то есть при развертывании проекта проблем не возникает. Вы можете заморозить драгоценные камни в проекте, но если они требуют встроенной сборки, это вызывает больше хлопот, чем это стоит из моего опыта.

Насколько я понимаю, гемы легче обновить, чем плагины.

Вам также следует обратиться к пакету rails 3, который используется для решения этих проблем развертывания.

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