【问题标题】:Understanding Ruby environment (rvm, rails, gems, etc...)了解 Ruby 环境(rvm、rails、gems 等)
【发布时间】:2012-09-16 19:15:08
【问题描述】:

我不是 Ruby 开发人员,但我需要在 Mac 上运行一个使用 Ruby on rails 和很多 gems 的应用程序。

按照网上的几个教程,我发现我需要安装很多应用程序,例如 xCode、Passenger、RVM、ecc...

一切都很好,但如果有一天我决定卸载所有东西,只保留 Mac 中已经存在的 Ruby 默认安装,那该怎么办?

在哪里可以本地化我使用 bundle install 下载的所有 gem?

使用终端并编写所有这些命令是一个干净的解决方案,或者它会使我的系统“脏”和慢?

抱歉所有这些问题,但我想知道是否有安装此环境的“最佳实践”,它是如何工作的,以及如果我决定有一天这样做的话,如何完全卸载它。

【问题讨论】:

    标签: ruby-on-rails ruby rubygems rvm uninstallation


    【解决方案1】:

    RVM 将为您提供您想要的。它将保证系统 Ruby 的安全并安装本地化的 Ruby 和 ruby​​gems。从 rvm 您可以随时安装/卸载任何版本的 ruby​​,这不会影响系统 ruby​​。如果有一天你想删除除系统一以外的所有 ruby​​,首先使用 RVM 删除它们,然后删除 rvm 本身。

    从这里安装 RVM:https://rvm.io/rvm/install/

    安装 RVM 将安装 ruby​​ 一个 ruby​​。如果需要,您可以安装其他版本。如果你想删除你只需运行 rvm remove ruby-1.9.3-p194

    您可以使用 rvm list 获得准确的 ruby​​ 版本

    本地化 gemsets

    您将需要一个.rvmrc 文件。

    要创建.rvmrc,请进入项目目录并运行以下命令: rvm --create --rvmrc ruby-1.9.3-p194@myproject

    然后重新进入目录,它会要求你信任 .rvmrv 文件,你必须信任它。现在,如果您运行bundle install,它将在您的 gemset 目录中安装本地化的 gemsets(很可能在您的 ~ 路径中)。

    注意:请确保ruby-1.9.3-p194 与您在rvm list 中找到的名称完全匹配

    【讨论】:

      【解决方案2】:

      RVM 是您所需要的。所有事情都可以在命令行中完成,它会很干净,随时可以删除。

      Xcode 不是必需的。但 brew 可能是。如果您有 brew,请先安装 apple-gcc42。带有 Xcode 4.2 及更高版本的 llvm-gcc 不能很好地编译 ruby​​。

      然后安装 rvm。按照rvm官方网站上的步骤很容易。安装好后,先试试rvm requirements。这个命令会告诉你构建 ruby​​ 需要什么。某些库可能不在机器上,例如 readline 等。

      满足所有要求后,rvm install 1.9.3 将在您的计算机上安装 ruby​​ 1.9.3,这需要几分钟。您可以在rvm list known 中安装任何 ruby​​ 版本。 rvm list 会显示本地版本。

      使用rvm default some_version 设置默认值。这不会与系统安装有任何冲突。而rvm use some_version 会将 ruby​​ 版本更改为特定版本。

      所有 rvm 安装的东西都会默认保存在 ~/.rvm/ 中,包括 gems。

      应该不需要卸载rvm。但是很容易做到这一点,直接删除它。

      【讨论】:

      • 最近,rvm 正在自动安装最新的 ruby​​ 版本,非常好:)
      • “带有 Xcode 4.2 及更高版本的 llvm-gcc 不能很好地编译 ruby​​”是错误的。从 1.9.3-p125 开始,Ruby 支持使用 LLVM 进行编译。
      • 安德鲁它“工作”并不意味着一切都会工作,至少存在已知的 1.9.3-p194 和 1.9.3-p125 的 Fibers 问题也与其他东西有很多问题(那是为什么要发布 p194),另外在更新 clang/llvm 之后,您可能会遇到其他随机问题,因为编译并不总是产生相同的结果 - clang 优化非常激进。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-09
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多