Fastlane "Nokogiri Requires Ruby Version >= 2.3.0." Error

Fastlane nokogiri requires Ruby version = 2.3.0. Error

After digging around and trying several solutions, I finally solved this. What happened was that I initially installed Fastlane with this command:

brew cask install Fastlane

And it seems that it was using another version of ruby while I had a newer one. So I uninstalled it with:

brew cask uninstall Fastlane

And then I re-installed it with this command:

sudo gem install -n /usr/local/bin fastlane -NV

Because I was having problems with permissions and then all worked good.

References and other solutions:

Github thread

usr/local/bin

Nokogiri requires Ruby version 2.3

Install the newest version of Nokogiri. In Gemfile:

gem 'nokogiri', '~> 1.6.8.rc2'

Bundler conflict requirements for the Ruby version

As mentioned in the comments the error is saying you have 2 options, upgrade ruby to a higher version or downgrade the github pages, you mentioned you are using rbenv which is very useful for this scenario. All you need to do is upgrade your ruby version. Go to your project folder and open a terminal then you can do something as follow:

rbenv install x.y.z, where x.y.z is the ruby version you want to install (e.g. 2.4.0), after that all you need to do is specify which version of ruby do you want to use in that project, so in the same terminal run: rbenv local x.y.z. That's it you should be able to run bundle install.

A couple of notes:

  • Remember to update your gemfile with the proper ruby version (after upgrade)

  • If you want to install your gems in a particular path and you are using bundle >= 2 (to check gem version: gem list | grep bundle), you should use a configuration file instead of specify the path in the command. Create a .bundle folder in your root directory and add a file called config, then in such file add the path (e.g. BUNDLE_PATH: ./vendor/bundle)

Bundle install could not find compatible versions for gem bundler

Your bundler gem is too big. You can downgrade for now by changing your gemfile to specify the lower version, and deleting the lock file again.

gem 'bundler', '1.17.1' 

Then try these commands in the terminal

gem install bundler -v 1.17.1
gem uninstall bundler -v 2.0.1
bundle update --bundler
bundle install

That last install command might be redundant. I'm on my phone so I can't test anything unfortunately.

Best of luck!

EDIT:

This is now a Heroku issue. Got it. Heroku docs regarding Bundler

Libraries
The following libraries are used by the platform for managing and running >Ruby applications and cannot be specified. For application dependency resolution and management, bundler is installed based on the contents of your Gemfile.lock. If you have a BUNDLED WITH in your Gemfile.lock then you will receive a different version of Bundler:

Applications specifying Bundler 2.x in their Gemfile.lock will receive bundler: 2.0.1
Applications specifying Bundler 1.x in their Gemfile.lock will receive bundler: 1.15.2
Applications with no BUNDLED WITH in their Gemfile.lock will default to bundler: 1.15.2
For more information on available settings see Bundler configuration. For more information on why we only support a specific set of bundler versions, please see this article about your Bundler version.

So it seems like Heroku only allows certain versions of Bundler to be compatible, relevant doc is linked. Downgrade to 1.15.2 and give it another shot.



Related Topics



Leave a reply



Submit