Bundler: есть ли способ установить версию? - PullRequest
0 голосов
/ 07 апреля 2020

При попытке запустить 'bundle install' у меня появляется следующее сообщение:

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    rails (= 5.0.2) was resolved to 5.0.2, which depends on
      bundler (>= 1.3.0, < 2.0)
  Current Bundler version:
    bundler (2.1.2)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (>= 1.3.0, < 2.0)', which is required by gem 'rails (= 5.0.2)', in any of the sources.
Bundler could not find compatible versions for gem "pg":
  In Gemfile:
    pg (= 0.18.3)
    jsonb_accessor (~> 1.0.0) was resolved to 1.0.0, which depends on
      pg (>= 0.18.1)

Затем я думаю, что мне нужно изменить версию своего пакета, почему 2.1.2, я хотел бы изменить на 1.17 .3.

gem list команда говорит:

bundler (default 1.17.3)

но bundle -v команда говорит:

Bundler version 2.1.2

Я использую ruby 2.5.1 с RVM.

У вас есть идеи, как это сделать?

Я читал, что могу использовать комплект конфигурации пакета, но он ничего не делает.

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Вам необходимо вручную удалить каталог вашей проблемной c ruby версии: например, если есть проблема с упаковщиком в версии 2.5.1 ruby, go по этому пути:

/ Users / YOUR_USER / .rvm / rubies / ruby -2.5.1 / lib / ruby ​​/ gems / 2.5.0 / gems /

и удалите каталог компоновщика.

Если bundler соответствует спецификации по умолчанию, вам также необходимо удалить связанный с ним файл по этому пути:

/ Users / YOUR_USER / .rvm / rubies / ruby -2.5 .1 / lib / ruby ​​/ gems / 2.5.0 / specs / default

Затем вы можете переустановить указанную c версию пакета, используя @Unixmonkey answer

1 голос
/ 07 апреля 2020

Bundler устанавливает двоичный файл, который вызывается до чтения вашего Gemfile, поэтому вам нужно удалить версию, которую вы используете, и установить нужную версию.

Это можно сделать с помощью RVM с помощью следующего :

rvm @global do gem uninstall bundler -a -x -I || true
gem install bundler -v '= 1.17.3'

Если вы переключаетесь между проектами, вам, возможно, придется делать это много или вы можете сделать это:

gem install bundler -v '= 1.17.3'

И вместо использования bundle install используйте:

bundle _1.17.3_ install

, чтобы указать версию используемого гема компоновщика.

Я бы порекомендовал вам взглянуть на обновление Rails, а не только на получение поддерживаемой версии (которая имеет обновления безопасности), но это также позволит вам обновить bundler снова.

...