Як знизити рівень пакета або оновити рейки?


79

Я додав дорогоцінний камінь omniauth до свого gemfile і спробував запустити встановлення пакета, але отримав повідомлення про несумісність рейок та версій пакета. Я намагався оновити рейки, але отримав повідомлення про несумісність з іншими дорогоцінними каменями. Як я можу знизити пакет до 1.0?

$ bundle install
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 3.0.0) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.1)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

і

$ bundle update rails
Fetching gem metadata from http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    factory_girl_rails (>= 0) ruby depends on
      bundler (~> 1.0.0) ruby

  Current Bundler version:
    bundler (1.1.1)

Відповіді:



23

Щоб встановити знижену версію пакета, спробуйте:

gem install bundler --version '<= 0.10.6'

щоб ви могли встановити обидві версії (перевірте: gem list bundler/ bundler _0.9.26_ -v), а потім запустити за допомогою цієї конкретної версії, наприклад:

bundle _0.9.26_ install

Дізнайтеся більше: Як оновити / понизити Rubygems на rubyforge


4

Для зниження версії просто введіть gem uninstall bundler:

Select gem to uninstall:
 1. bundler-1.13.7
 2. bundler-1.14.4
 3. bundler-1.16.4
 4. bundler-2.0.2
 5. All versions

Просто виберіть версію, яку потрібно видалити.


3

Якщо ви хочете знизити або оновити свою версію bundler , виникає проблема, коли ми намагаємось видалити глобальну версію пакета. Я вирішую цю проблему власною технікою. Виконайте кроки:

Крок 1: запустити:gem list bundler

*** LOCAL GEMS ***
bundler (2.0.2, 1.17.3)
bundler-unload (1.0.2)
rubygems-bundler (1.4.4)

У мене є версія для двох пакувачів тут 2.0.2 та 1.17.3. Тепер я видаляю 2.0.2, оскільки буду використовувати 1.17.3. Але коли я намагаюся видалити 2.0.2 за допомогою цієї команди, gem uninstall bundler --version '2.0.2'я виявляю помилку:

ERROR:  While executing gem ... (Gem::InstallError)
bundler is not installed in GEM_HOME, try:
    gem uninstall -i /home/habib/.rvm/gems/ruby-2.3.1@global bundler

тому що це мій глобальний пакет. Але повідомлення про помилку має рішення. тоді я спробую крок 2.

Крок-2: біжиgem uninstall -i /home/habib/.rvm/gems/ruby-2.3.1@global bundler

вихід: Successfully uninstalled bundler-2.0.2

Крок 3: Я знову перевіряю свій список пакетів, запущенийgem list bundler

*** LOCAL GEMS ***

bundler (1.17.3)
bundler-unload (1.0.2)
capistrano-bundler (1.2.0)
rubygems-bundler (1.4.4)

Тут у мене є лише один пакет, 1.17.3і я можу використовувати його в будь-якому проекті

перевірте версію пакета: запустити bundler -v

output: Bundler version 1.17.3


1

Крок 1 : Встановіть стару версію (наприклад 1.17.3) за допомогою:

gem install bundler --version '1.17.3'

Крок 2 : Видаліть новішу версію за допомогою:

gem uninstall bundler

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.