Ошибка драгоценного камня. не могу активировать фарадей (›= 0.7.3, среда выполнения) для [youtube_it-2.1.1], уже активировал фарадей-0.5.7 для [instagram-0.8]"

Я делаю приложение Rails (3.0.4), используя API youtube_it.

Я установил драгоценный камень, используя gem install youtube_it, но когда я запускаю скрипт, я получаю эту ошибку:

can't activate faraday (>= 0.7.3, runtime) for ["youtube_it-2.1.1"], already activated faraday-0.5.7 for ["instagram-0.8"]

Как мне решить эту проблему, не удаляя существующую версию Фарадея?


person serpent403    schedule 21.01.2012    source источник
comment
Bundle exec не может быть выполнен в моем приложении, поэтому я пытаюсь сделать это другим способом, я поместил папку youtube_it в папку /vendor/plugins/ моего приложения. Но я получаю сообщение об ошибке NoMethodError: неопределенный метод «зависимость» для Faraday::Request::OAuth:Class, когда мне требуется «youtube_it». Что не так?   -  person serpent403    schedule 21.01.2012


Ответы (2)


Во-первых, вы должны добавить youtube_it в свой Gemfile, а затем запустить установку пакета.

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

Во-вторых, при запуске команды rails вам не нужно запускать bundle exec, согласно Иегуде Кацу (http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler). -делать-это-правильно/). Однако по моему опыту бывали случаи, когда даже для команды rails требовалось выполнение пакета exec.

В любом случае запуск "bundle exec executable" запустит ваш исполняемый файл (rails, rake и т. д.) с драгоценными камнями, перечисленными в Gemfile.lock, чтобы избежать ужасной ошибки «невозможно активировать — уже активировано».

person edk750    schedule 22.01.2012

Я не думаю, что вы можете. Вам следует обновить Faraday до последней версии. Есть ли уважительная причина не делать этого?

person Alexei Danchenkov    schedule 21.01.2012