Support for Windows Gemfiles
Page last updated:
Warning: VMware Tanzu Application Service for VMs (TAS for VMs) v2.9 is no longer supported because it has reached the End of General Support (EOGS) phase as defined by the Support Lifecycle Policy. To stay up to date with the latest software and security updates, upgrade to a supported version.
This topic describes how the Ruby buildpack handles dependencies on Windows machines.
Gemfile.lock is generated on a Windows machine, it often contains gems
with Windows-specific versions. This results in versions of gems such as
pg containing “-x86-mingw32.” For example, the
Gemfile may contain the following:
gem 'sinatra' gem 'mysql2' gem 'json'
When you run
bundle install with the above
Gemfile on a Windows machine, it results in the following
GEM remote: http://rubygems.org/ specs: json (1.7.3) mysql2 (0.3.11-x86-mingw32) rack (1.4.1) rack-protection (1.2.0) rack sinatra (1.3.2) rack (~> 1.3, >= 1.3.6) rack-protection (~> 1.2) tilt (~> 1.3, >= 1.3.3) tilt (1.3.3) PLATFORMS x86-mingw32 DEPENDENCIES json mysql2 sinatra
Notice the “-x86-mingw32” in the version number of
mysql2. Since Cloud Foundry runs on Linux machines, this would fail to install. To mitigate this, the Ruby Buildpack removes the
Gemfile.lock and uses Bundler to resolve dependencies
Gemfile.lock will cause dependency versions to be resolved
Gemfile. This could result in different versions being installed than
those listed in the