#ruby-on-rails #ruby #ruby-on-rails-4.2 #ruby-2.4
#ruby-on-rails #ruby #ruby-on-rails-4.2 #ruby-2.4
Вопрос:
RVM установлен на ruby-2.4.0
, и я создал новое приложение, у которого есть версия,
gem 'rails', '4.2.6'
Я обновил bundler с помощью,
gem update --system
gem install bundler
bundle version
# Bundler version 2.0.1 (2019-01-04 commit d7ad2192f)
Но я получаю следующую ошибку, пока bundle install
,
Fetching gem metadata from https://rubygems.org/.............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 4.2.6) was resolved to 4.2.6, which depends on
bundler (< 2.0, >= 1.3.0)
Current Bundler version:
bundler (2.0.1)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
Could not find gem 'bundler (< 2.0, >= 1.3.0)', which is required by gem 'rails (= 4.2.6)', in any of the sources.
Он запрашивает у меня более низкую версию требуемого пакета, почему? Как я должен решить выше?
Ответ №1:
Установите любой пакет с версией (< 2.0, >= 1.3.0).
Например
gem install bundler -v 1.17.3
И затем
bundle _1.17.3_ install
Это должно сработать в вашей ситуации.
Комментарии:
1. удаление
Gemfile.lock
— плохая идея, потому что информация о версиях gem будет потеряна и может привести к неожиданным последствиям.
Ответ №2:
В вашем, Gemfile
указывается более старая версия bundler, которая несовместима с 2.x.x. Попробуйте запустить gem install bundler -v 1.3.0
или любую другую версию, которую вы указали в своем Gemfile.lock
(проверьте самый конец файла).
Комментарии:
1. Установлена старая версия, но отображается 2.0.1 для
bundle --version
2. хорошо, вам, вероятно, сначала нужно удалить более новый пакет
gem uninstall bundler --version 2.0.1
3. Да, последовал тому же и сработал, легко, но стало сложно, как никогда раньше! спасибо:)
4. В
Gemfile.lock
файле версия bundler для меня была 2.0.1, я изменил ее на1.16.1
, поскольку моему проекту это действительно было нужно.bundle install
Это работает!