Ответ 1
Сначала вам нужно установить соответствующую версию bundler:
% gem install bundler -v '~> 1.0.0'
Successfully installed bundler-1.0.22
Затем заставьте rubygems использовать нужную версию (см. это сообщение):
% bundle _1.0.22_ install
Я работаю в более раннем проекте Rails, который имеет Gemfile. Я попытался добавить драгоценный камень в Gemfile и bundle install
, но получил ошибку:
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.5)
This Gemfile requires a different version of Bundler.
В версии Rails, которую он использует, требуется bundler ~ > 1.0.0, но я установил 1.1.5 и использую его для других моих проектов. Обычно я использовал бы bundle exec ...
, но поскольку это расслоение, о котором мы говорим, это немного сложнее. Как добавить драгоценный камень в мой Gemfile и запустить bundle install
при использовании версии bundler, которую он требует?
Сначала вам нужно установить соответствующую версию bundler:
% gem install bundler -v '~> 1.0.0'
Successfully installed bundler-1.0.22
Затем заставьте rubygems использовать нужную версию (см. это сообщение):
% bundle _1.0.22_ install
У меня была такая же проблема на MacOS Mojave. Я установил другую версию гема компоновщика и удалил текущую версию.
gem install bundler -i '2.0.1'
gem uninstall bundler
Затем дает мне возможность выбрать версию для удаления, и я выбираю ту, которая создает проблему.
Сообщение об ошибке In Gemfile: bundler (~> 1.16)
немного неточно, так как требование номера версии может исходить из других мест, таких как файл .gemspec
, который был для меня:
spec.add_development_dependency "bundler", "~> 1.16"
Удаление номера версии из файла .gemspec
решило проблему для меня:
spec.add_development_dependency "bundler"