Question

App Platform - how to specify a certain stack for legacy version support?

I’m trying to get a legacy Ruby on Rails app running on the App Platform - it’s currently using ruby 2.3.1, which I realise is fairly old now - upgrading is on the cards, but ideally I’d like to get it running with this version first.

I deploy, and see this message:

The Ruby version you are trying to install does not exist on this stack.
You are trying to install ruby-2.3.1 on heroku-18.

Ruby ruby-2.3.1 is present on the following stacks:
 - cedar-14
 - heroku-16

Is it possible to specify the stack somehow? I can’t seem to find a configuration option for it.

Many thanks for any help!

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi there,

I’ve just checked the official documentation and it looks like the Heroku-16 stack reached end-of-life on May 1st, 2021:

https://devcenter.heroku.com/articles/heroku-16-stack

What I could suggest is either:

  • Try upgrading your Ruby version to a newer one so that it would be able to build on Heroku-18
  • Create a Dockerfile so that your App builds from the Dockerfile rather than the Heroku build-packs:

https://docs.digitalocean.com/products/app-platform/languages-frameworks/docker/

Let me know how it goes!

Best,

Bobby