Почему с 3.1.1 рельсы обновления действуют как теги при обновлении?

У меня есть приложение rails, которое использует драгоценный камень рельсов v3.1.1 и драгоценный камень v2.1.1, который можно пометить.

Наша серверная сборка устанавливает гем rails v3.1.1 перед гемом act-as-taggable-on v2.1.1.

Моя проблема в том, что при установке gem-as-taggable-on также устанавливаются последние версии рельсов (3.2.1), хотя у меня уже установлены рельсы, и в итоге у меня установлены 2 версии рельсов.

Глядя на acts-as- taggable-on gemspec имеет рельсы в качестве зависимости. При установке я ожидаю, что теги будут знать, что гем рельсов установлен, а не устанавливать последнюю версию.

Можете ли вы объяснить, почему он снова устанавливает рельсы и есть ли способ остановить это?

Заранее спасибо.


person Peter    schedule 04.02.2012    source источник
comment
Как вы устанавливаете свои драгоценные камни?   -  person Frederick Cheung    schedule 04.02.2012
comment
Привет, Фредерик, я использую установку gem (а не комплект) и указываю версию, когда создаю образ машины Amazon EC2 со всеми зависимостями нашего приложения, но не с нашим кодом приложения (что я считаю лучшей практикой). Использование упаковщика потребует, чтобы наше приложение было развернуто как часть сборки сервера — я думаю, что они должны быть независимыми.   -  person Peter    schedule 05.02.2012
comment
Это как раз та проблема, для решения которой был разработан упаковщик. Вы все еще можете использовать упаковщик, просто скопировав свой Gemfile и Gemfile.lock на сервер при создании образа. Лично, когда я создаю образы EC2, я не помещаю туда драгоценные камни, так как они меняются достаточно часто, чтобы создать проблемы.   -  person Frederick Cheung    schedule 05.02.2012
comment
Спасибо, Фредерик, я попробую использовать только Gemfile и Gemfile.lock - если подумать, имеет больше смысла управлять версиями в одном месте, а не Gemfile и скрипты сборки сервера. Я просто надеюсь, что гем act_as_taggable_on не установит последний гем рельсов, когда он установлен упаковщиком.   -  person Peter    schedule 05.02.2012


Ответы (1)


Версия 2.2.2 драгоценного камня снижает зависимость Rails до 3.x вместо 3.2. Если вы можете обновить «действия как пометки», переключитесь на версию 2.2.2, и у вас больше не должно быть конфликта зависимостей.

person Ryan    schedule 04.02.2012
comment
На самом деле, оглядываясь назад, зависимость от гема никогда не была выше 3.1. Как предположил Фредерик Чунг, проблема может заключаться в том, что вы используете неправильный метод управления своими драгоценными камнями. Вы используете Bundler для установки? При работе с Rails вы должны поместить свои зависимости в свой Gemfile и запустить bundle install для автоматизации установки gem. Не устанавливайте гемы с gem install. - person Ryan; 05.02.2012
comment
Спасибо, я не смотрел на обновление до 2.2.2. Я ожидаю, что смогу, но также подозреваю, что произойдет то же самое - как вы говорите, зависимость никогда не была выше 3.1. - person Peter; 05.02.2012