Our client wants to downgrade our e-commerce website from Ruby 2.1.6 to
Ruby 1.8.7. I know this makes no sense. But when we got the requirement
to do the website, we developed using the latest version 2.1.6 but the
client wants to have the website in the old version, since his server is
not compatible with new one (MAKES SENSE?, but no other way).
Ruby will compile on fairly near anything with a sensible C compiler and the
configure program. If the server is so outdated that it doesn’t have that, there are other problems.
There are a variety of tools for allowing multiple Ruby versions to coexist on one system; you should strongly suggest using one.
1.8.7 was end-of-lifed (no further updates from the core team) in June 2013. It received a followup set of security patches in December 2013 to address CVE-2013-4164, but those were from a team at Heroku. Unless you or your client’s team have the capability to evaluate 1.8.7’s vulnerability to the subsequent 18 months of reported vulnerabilities, you are taking a massive security risk.
Apart from security, the other big reason to encourage a Ruby upgrade vs. an application rewrite is that the Ruby upgrade is straightforward - even if the server is particularly badly-configured, it’s still ultimately a well-documented process to get Ruby to build. Rewriting the application is much trickier.
If none of those arguments work, at least post the name of the company on here. I’d like to make sure I never give them my credit card number…