Deploy a ruby project developped on Windows

Context

Applications running in Scalingo’s infrastructure are running on a distribution of Linux with the architecture amd64. If you are using Windows to develop your application, incompatibility may occur.

When you are running bundle install to install the dependencies of your project, Bundler will select the best versions possible for each gem you’ve listed in your Gemfile. Some of these gems have special version for Windows.

As Scalingo’s stack is based on Linux, we can’t install these precise versions.

Specify explicitly your gems version

As a result, the Gemfile.lock won’t be considered when a Windows machine is deploying a Ruby application. So you need to lock the versions manually by modifying the Gemfile:

gem 'rails'

should become

gem 'rails', '4.2.0'

If the version has not been specified, it will let Bundler install the last version compatible for your project. That’s probably not what you want and may probably break your application. So you have to ensure that all the gems in your Gemfile have a version specified.


Suggest edits

Deploy a ruby project developped on Windows

©2024 Scalingo