【问题标题】:Uninstalling Ruby to go to an older version卸载 Ruby 以转到旧版本
【发布时间】:2015-11-10 10:43:11
【问题描述】:

我正在尝试学习 Ruby On Rails,但发现我不能真正使用 Ruby 2.2.2,因为 Nokogiri 在 Windows 上还不支持它。

如何将 Ruby 回滚到旧版本,以便在等待 Nokogiri 推出适用于 Windows 和 Ruby 2.2.2 的产品时在旧框架上进行开发?

卸载它的最佳方法是什么,这样我就没有可能导致问题的东西?

这是对我的问题的回应:“Error installing "nokogiri" in a Ruby on Rails application?

【问题讨论】:

  • 好吧,如果你真的想要好的建议:迁移到 Linux(或 Mac,就此而言)。我在 Windows 上使用 Ruby/Rails 一年左右,当我离开 Windows 时,我觉得痛苦已经结束。宝石制造商通常不会真正关心 Windows 用户。
  • 任何 Linux 发行版都足够了吗?即Ubuntu?不完全确定是否要迁移到 Linux 和 Mac 笔记本电脑非常昂贵且价格过高。
  • 你最初是如何将它安装在 Windows 上的?那个有卸载程序吗?只要安装目录不在您的路径中,周围的任何位都无关紧要。构建开发虚拟机是一种选择,购买 mac 是一种选择。但是使用诸如 railsinstaller 之类的东西并安装到一个新目录应该会让你继续前进。请记住,大多数 /tutorials 等似乎都假设一个类似 *nix 的环境。
  • 我对 Linux 本身的唯一真正犹豫是因为我也在我的个人计算机上玩游戏,而且据我所知,Linux 在视频游戏方面并没有得到公平对待。它看起来越来越像我需要一台 mac 笔记本电脑了。
  • 不,您不需要 Mac 笔记本电脑(但它们非常好,哈哈)。您可以在虚拟机中安装 linux(virtualbox 是免费的),并将其用于 Dev。等等,而且不用担心不能在linux下玩游戏等等……

标签: ruby-on-rails ruby windows nokogiri uninstallation


【解决方案1】:

Linux 用户:请记住,并不是每个人都对切换他们的操作系统、运行 2 台机器、试图弄清楚双启动或处理虚拟机拖拽感兴趣主持人。虽然 Linux 是一个很好的软件开发环境,但像 OP 这样的人,只是想尝试一些东西(比如 ruby​​/rails),不应该立即被告知切换到完全不熟悉的东西,甚至可能不足以支持他们的日常到日常活动。

因为我不相信让任何人离开一个他们感到舒适的环境(特别是因为你说“学习”。你为什么要为了尝试一些东西而进行额外的投资? ) 并且因为我不希望我的评论被忽略,因为这将有助于解决您的问题,所以我决定将其发布为“答案”。

Mac 和其他基于 *nix 的操作系统能够安装 rvm(是的,我知道还有更多,但 rvm 是我个人的选择和社区的最爱),它允许您在同一台上管理不同版本的 ruby操作系统。

虽然rvm 不适用于Windows,但有一个名为uru 的小应用程序可以让您从Windows 的角度来看非常接近。

安装版本管理器意味着您不需要卸载或回滚任何东西,您只需在当前版本旁边安装新/旧 ruby​​ 版本,并从命令行相当轻松地在它们之间切换。

虽然uru 没有其他应用程序(如rvm)拥有的所有花哨功能(按设计)。它包含重要的(主要是在您的情况下切换 ruby​​ 版本)。 CLI 非常简单直接。 Examples of uru Usage

另外:请注意,我在以 Windows 为中心的办公室工作,并且在 Windows 机器上开发了多个功能齐全的 rails 应用程序。是的,在处理原生扩展时会有一些令人头疼的问题,并且知道您将永远落后于 ruby​​ 和 rails 的领先优势,但是完全在 Windows 环境中构建企业级 Web 应用程序是完全可能和可行的,而无需安装 Linux . (注意我确实使用专用的 Linux 机器作为非开发 Web 服务器)

【讨论】:

  • 我也是这样做的,问题是在不同的环境中部署时会遇到很多问题。如果您只是在修补,这可能是可行的方法,但如果您最终希望能够在 Linux 上部署您的 rails 应用程序,那么您最好的选择确实是 Vagrant (Virtualbox)。
  • @pguardiario 不确定我是否理解我从来没有遇到过从 windows 部署到 linux 的 Rails 应用程序的任何问题。无论操作系统如何,Ruby 都是 ruby​​,只要 ruby​​ 和 gem 版本匹配,它在所有平台上的功能都相同。此外,我完全不确定 vagrant 与此有什么关系。如果您真的想避免任何麻烦,为什么您要编写机器,而您可以简单地使用物理机器并将其构建为规范或至少使用比 VirtualBox(如 vmware 或 microsoft)更稳定的 VM *是 HyperV 支持 linux构建
  • 我说的是依赖关系问题(比如发帖人在使用 Nokogiri 时遇到的问题)。如果您从未经历过这些,那您已经非常幸运了。
【解决方案2】:

转到您的控制面板并找到 ruby​​ 或 rails 安装程序。卸载它。转到您的文件资源管理器并确保该文件夹已消失。

现在转到http://rubyinstaller.org/downloads/ 并选择旧版本。就像你第一次安装 ruby​​ 一样遵循这个过程。然后去拿 nokogiri 和任何其他你喜欢和喜欢的宝石。

我在尝试一些依赖 32 位而不是 64 位 JVM 的 gem(stanford core nlp &treat)工作时遇到了完全相同的问题,就像我正在运行的 ruby​​ 版本一样,所以我恢复到 1.9.3。

我也在避免迁移到 OSX 或 linux 阵营,所以我觉得你很痛苦。

让我知道这是否有效,祝你好运!

【讨论】:

  • 懂的人:D。我将把 linux 扔进虚拟机,这样我就可以享受最新版本的 Ruby 和 rails 4。如果没有,那将是我的最后一步。我会及时通知你。
  • 告诉我进展如何!如果它不痛,也许我会加入你。
猜你喜欢
  • 2011-08-19
  • 2012-04-29
  • 1970-01-01
  • 2013-01-09
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 1970-01-01
相关资源
最近更新 更多