【发布时间】:2017-08-14 16:06:14
【问题描述】:
披露:除了一些基本的代码语法之外,我对 Ruby 知之甚少。忍受我的白痴。
Ruby 1.8 的 OpenSSL 库似乎不支持 TLS 1.2。但是,有些应用程序运行依赖于 1.8,所以我想看看我是否可以在同一系统上同时运行较新版本的 Ruby,并使用相同 gem 的较新版本进行设置。
当前版本 1.8 位于 /usr/lib/ruby/1.8。理想情况下,我想保持相同的结构并安装更新的版本(不确定最新的稳定版本是什么 - 无论是 2.3.x 还是 2.4.x)。
也就是说,我不是 Ruby 管理员。我从其他人那里继承了一台服务器,尽管公司内部没有其他 Ruby 经验,但他们认为 Ruby 是做事的最佳方式,然后他们离开了。我知道一些系统管理员的东西,但我不知道:
- 向后兼容的 Ruby 版本如何(例如,针对 1.8 构建的应用是否可以在 2.4.1 上运行而无需进行任何重大修改)。
- 宝石如何工作/更新。 2.4.1 可以使用 1.8 中的 gem,还是 gem 绑定到特定的 Ruby 版本?可以混搭吗?是否有某种迁移路径?
- 如何正确管理两个不同的并发版本(如何告诉应用使用一个版本而不是另一个版本,或防止现有应用自动尝试使用新版本并在它们不兼容时中断)。
- 任何最佳安装实践(我通常从源代码编译,但愿意接受建议)。
- 是否可以只更新 Ruby 的 OpenSSL 库而不更新整个 Ruby 应用程序?它目前在 OpenSSL 0.9.8o 上,因此已经远远落后于时代。
服务器运行的是 Debian 6.0.6(不过,我更熟悉 Red Hat 和 CentOS,因此欢迎任何与此问题相关的软件包管理等提示)。
【问题讨论】: