In the event the Ruby Buildpack v1.9 line is incompatible with applications running on the platform then the following workarounds are available:
- Update applications to be compatible with ruby 3.1
- cf-hello-worlds app has this example commit showing the version updates necessary in Gemfile.lock and Gemfile for application to work with ruby 3.1.
- Every application is different and may have other dependencies that can break so do not assume this as a generic solution. Ultimately the developer needs to review and test code to ensure compatibility with ruby 3.1.
- Push up a previously known working ruby_buildpack so that ruby apps can stage and run. This allows availability of the application while updating them to be compatible with ruby 3.1
Depending on your scenario, you may want to make ruby_buildpack v1.9.x available in the environment but not the default.
### Example where ruby_buildpack v1.9.x is the default, and we want to revert to previous ruby_buildpack as the default but make v1.9.x available in the environment for testing:
cf update-buildpack ruby_buildpack --rename=ruby_buildpack_1_9
cf create-buildpack ruby_buildpack ~/Downloads/ruby_buildpack-cached-cflinuxfs3-v1.8.60.zip 3
Alternatively you may want to make ruby_buildpack v1.9.x the default, but provide a previously known working buildpack to be available so that developer apps can use if needed while they update their apps to be compatible with ruby 3.1.
### Example where ruby_buildpack v1.9.x is the default, and we want to provide a previously known working ruby_buildpack in the environment for staging and running applications while the impacted apps are updated to be compatible with ruby 3.1:
Note - Buildpacks can be downloaded from
Broadcom Support Portal. In this example, we downloaded ruby_buildpack v1.8.60
cf create-buildpack ruby_buildpack_1_8_60 ~/Downloads/ruby_buildpack-cached-cflinuxfs3-v1.8.60.zip 3
Now if an application needs to be updated to be compatible with ruby 3.1 then the application can reference the provided buildpack name in their
cf manifest or push command.