使用RVM时如何安装Ruby gem?

Gen*_*nik 38 ruby rubygems ruby-on-rails rvm ruby-on-rails-3

我设置了RVM并用它来安装Ruby和其他一些库.当我正在浏览Rails等其他技术的各种教程和设置时,我开始对通过RVM做什么以及我应该按照教程建议做什么感到困惑.

一个例子是RubyGems教程:http: //rubygems.org/pages/download

我应该下载他们正在谈论的tar文件吗?似乎不必要,因为这是我认为RVM的用途.我甚至需要RubyGems吗?真的是什么?

另外,我如何实际获得Rails?是否有精确的RVM命令来实际下载和安装Rails?

Upg*_*ave 49

它帮助我将RVM视为您与红宝石生态系统之间的抽象层.

没有RVM:ruby,gems和ruby相关的二进制文件(如rake,spec,gem等)都直接安装到您的操作系统目录中.

使用RVM:ruby相关的东西被rvm拦截,以便ruby,gems和ruby相关的binares以一种漂亮,干净,有条理的方式"安装"到〜/ .rvm目录中.RVM位于ruby,gem和相关二进制文件与操作系统之间.它提供了在同一台机器上拥有多个ruby环境(具有不同的gem和二进制文件)的方法.

因此,无论您是否安装了rvm,您都应该能够像在Web上的任何教程中一样运行几乎完全(*)的命令.换句话说,您可以"忘记"安装RVM; 红宝石生态系统应该像没有安装一样工作.

那么,是的,你将要跑gem install rails,等等.

希望有助于消除混乱.

(*)有一些小的差异.例如:安装RVM时,不应将命令作为sudo运行.

  • "你应该能够完全像在网络上的任何教程中看到的那样运行命令." 不.任何建议你使用`sudo`来安装gem的教程都会失败.RVM特别说"[不要使用sudo ...](https://rvm.beginrescueend.com/rubies/rubygems/)". (16认同)

the*_*Man 11

我应该下载他们正在谈论的tar文件吗?

不,Ruby 1.9+包括宝石.RVM将其改装为1.8+.

一般情况下,请注意您在互联网上找到的任何说明如何安装任何方向,除非您有足够的经验来完全理解他们希望您做什么.特别是,他们希望您使用sudo或以root 身份安装某些东西.

特别是,在使用RVM时,您不想使用sudo安装Ruby 或任何gem.RVM的工作原理是为您的开发设置一个沙箱,并依赖于您的帐户环境,修改您的路径,以便任何Ruby请求转到当前选定的RVM管理的Ruby或Gems或他们安装的任何命令.sudo将您的正常环境推向一边,暂时替换root用户,安装您要求它执行root权限的任何内容,然后恢复到您的环境.

当你去运行命令,或者像你一样找到gem时,RVM的Ruby无法找到它,因为该文件安装在RVM的沙箱之外,或者它无法读取或修改,因为它是由根.无论实际原因是什么,最终的结果都是牙齿的哭泣和咬牙切齿.

RVM不会破坏该gem功能.gem用于安装和管理Ruby gems,RVM调整它以使用沙箱进行所有的阴谋.由于RVM支持gemsets,你可以获得额外的功能,但是gem它一如既往地工作,只有它有"大哥",RVM,控制着它的世界.