samuelcole / MarchBNB

Home sharing app for Marchers
Other
8 stars 6 forks source link

The "docker-compose build" step fails with a "warning: parser/current is loading parser/ruby22" Error #34

Closed tompurl closed 7 years ago

tompurl commented 7 years ago

When setting up my development environment for the first time the sudo docker-compose build command fails with the following error:

warning: parser/current is loading parser/ruby22, which recognizes warning: 2.2.5-compliant syntax, but you are running 2.2.3. warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.

Another developer that I was working with had the same issues.

We seem to be getting this error because the parser library isn't compatible with Ruby 2.2.3. However, the Ruby version is hardcoded into the heroku/ruby image, which is referenced in the Dockerfile.

There seems to be two possible solutions to this issue. First, we could just create our own version of the heroku/ruby image but make it use Ruby 2.2.5. This would solve the Ruby version issue but I don't know if what we end up generating would work on Heroku. I checked the supported Ruby versions on Heroku today and couldn't definitively answer whether Ruby 2.2.5 is even supported.

The next possibility is to force a version of the parser library that does support Ruby 2.2.3 (like this one). This may solve our problems in the short term but who knows for how long? At best it's a band-aid.

I'll test both solutions myself soon to see what works, but since I'm new to the project I was wondering about the following:

  1. What's the preferred choice of the project maintainers?
  2. Is it worth examining a non-Heroku-based hosting solution? The Heroku Ruby Docker image has been stuck on version 2.2.3 for 2 years now. It doesn't appear that Heroku is investing lots of time and effort into this deployment method. Would it be better to look into a more traditional Heroku or Docker-based deployment method?
samuelcole commented 7 years ago

Hiya, I appear to be the maintainer right now. I would personally prefer moving to a traditional (non-docker) rails app, just because I really have no experience with docker.

Fwiw, I was able to get the docker app running on my own computer? Like I said, I don't know enough about docker to guess why.

I definitely don't want to get deeper into maintaining esoteric docker images? Right?

tompurl commented 7 years ago

I agree. The Docker dependency does seem klunky, especially if the app is designed to be deployed on Heroku anyways.

This seems like a good "wontfix" issue to me. We can open another issue to track the patches that are required to run this app without the Heroku Docker image.