I'm building a rails site on a Windows machine but when I check in my Gemfile.lock I get the following error on my Travis builds:
Your bundle only supports platforms ["x86-mingw32"] but your local platforms are ["ruby", "x86_64-linux"], and there's no compatible match between those two
lists
Here is the full log: https://travis-ci.org/bikebike/BikeBike/builds/222395810#L654
I looked at my Gemfile.lock and it states:
PLATFORMS
x86-mingw32
Which appears to be part of the issue. I've tried putting any windows specific gems in a platforms
block:
platforms 'mswin', 'mingw', 'mswin64', 'x64_mingw' do
gem 'tzinfo-data'
group :test do
gem 'wdm', '>= 0.1.0'
gem 'win32console', require: false
end
end
But the Gemfile.lock looks the same.
Here is my full Gemfile and Gemfile.lock.
I can temporarily get around the issue by removing the Gemfile.lock file from git but this is not best practice. Is there anyway that I can commit my Gemfile.lock file and continue to develop on my Windows machine?
If you want your bundle to support platforms other than the one you're running locally, you can run bundle lock --add-platform PLATFORM to add PLATFORM to the lockfile, force bundler to re-resolve and consider the new platform when picking gems, all without needing to have a machine that matches PLATFORM handy to ...
A Gemfile is a file that is created to describe the gem dependencies required to run a Ruby program. A Gemfile should always be placed in the root of the project directory.
Run the following two commands on the command line:
bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux
This will add the two platforms in Gemfile.lock
I had the same error when deploying to google cloud. But after running these two commands ruby and x86_64-linux were added and the issue was resolved.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With