Omnisocial зависит от gem bcrypt-ruby 2.1, но Rails 3.1 зависит от bcrypt 3.0.0 - что мне делать? - PullRequest
3 голосов
/ 17 сентября 2011

Попытка проверить этот удивительный камень - http://icelab.com.au/articles/welcome-to-the-omnisocial/ - который обещает легкую интеграцию входа в Twitter и FB в мое приложение.

Но когда я запускаю bundle install, я вижу это:

Bundler could not find compatible versions for gem "bcrypt-ruby":
  In Gemfile:
    omnisocial depends on
      bcrypt-ruby (~> 2.1)

    bcrypt-ruby (3.0.0)

Когда я указываю, что хочу Bundler использовать версию 2.1, я получаю это:

Bundler could not find compatible versions for gem "bcrypt-ruby":
  In Gemfile:
    bcrypt-ruby (~> 2.1)

    rails (= 3.1.0) depends on
      bcrypt-ruby (3.0.0)

Так что теперь мне нужно выбирать между Omnisocial или Rails 3.1. Похоже, такой дерьмовый выбор.

Что мне сделать, чтобы заставить его работать?

Ответы [ 2 ]

3 голосов
/ 17 сентября 2011

Я выпустил новую версию гема (которую мне пришлось переименовать в omnipopulus по юридическим причинам).Этот новый выпуск не зависит от какой-либо конкретной версии гема bcrypt-ruby, поэтому вы должны нормально запустить его с Rails 3.1.

Добавьте это к своему Gemfile, чтобы начать:

gem 'omnipopulus'

Затем запустите bundle и следуйте инструкциям в README по адресу https://github.com/icelab/omnipopulus

Убедитесь, что вы удалили все ссылки на омнисоциальные в вашем приложении.

0 голосов
/ 17 сентября 2011

Текущая версия omnisocial для github не требует конкретной версии bcrypt. См. Здесь .

Но они добавили зависимость к RC-версии Rails ...

Что я часто делаю в этих случаях:

  • клонировать репозиторий github

  • изменить то, что мне нужно

  • запустить набор тестов гема

  • Если все в порядке, добавьте свою собственную версию в приложение Rails

  • Если новая версия Gem выпущена в соответствии с моими потребностями, я снова использую официальную версию

...