web-dev-qa-db-ja.com

RVMを使用しているときにRuby gemsをインストールするにはどうすればよいですか?

RVMをセットアップし、それを使用してRubyと他のいくつかのライブラリをインストールしました。Railsのような他のテクノロジーのさまざまなチュートリアルとセットアップを行っていたので、何をすべきかについて混乱し始めましたRVMを介して実行し、チュートリアルが示唆するように私が何をすべきか。

一例は、ここのRubyGemsチュートリアルです: http://rubygems.org/pages/download

彼らが話しているそのtarファイルをダウンロードする必要がありますか?それは私がRVMの目的であると思っていたので、必要ないようです。 RubyGemsも必要ですか?本当にそれは何ですか?

また、実際にRailsを入手するにはどうすればよいですか? Railsを実際にダウンロードしてインストールするための正確なRVMコマンドはありますか?

38
Genadinik

RVMを、あなたとRubyエコシステムとの間の抽象化のレイヤーと考えることができます。

RVMなし:Ruby、gems、およびRuby関連するバイナリ(rake、spec、gemなど))はすべて、オペレーティングシステムのディレクトリに直接インストールされます。

RVMの場合:Ruby関連するものがrvmによってインターセプトされるため、Ruby、gems、およびRuby関連するbinareが〜/ .rvmディレクトリに「インストール」されます。 RVMは、Ruby、gems、および関連するバイナリとオペレーティングシステムの間に位置します。これにより、同じ上に複数のRuby環境(異なるgemとバイナリ))を持つことができます機械。

したがって、rvmがインストールされているかどうかに関係なく、Web上のチュートリアルに表示されるとおり、コマンドをほぼ正確に実行できるはずです(*)。つまり、RVMがインストールされていることを「忘れる」ことができます。 Rubyエコシステムは、インストールされていないかのように機能するはずです。

だから、うん、あなたはgem install Railsなど.

混乱が解消されることを願っています。

(*)若干の違いがあります。たとえば、RVMのインストール時にSudoとしてコマンドを実行しないでください。

49
Upgradingdave

彼らが話しているそのtarファイルをダウンロードする必要がありますか?

いいえ。Ruby 1.9以降には宝石が含まれています。 RVMはそれを1.8以上に改良しています。

一般に、インターネットで見つけた指示に注意して、インストール方法を説明します。ただし、ユーザーが何をしたいかを完全に理解する十分な経験がない場合は除きます。特に、Sudoを使用して、またはrootとして何かをインストールしてほしい場合。

具体的には、RVMを使用する場合、Sudoを使用してRubyをインストールしたくない または任意のgem 。 RVMは、開発用のサンドボックスを設定することによって機能し、アカウントの環境に依存し、Rubyリクエストが現在選択されているRVM管理のRubyまたはgemsまたはインストールするコマンド。 Sudoは、通常の環境を横に移動し、ルートを一時的に置き換え、ルートの権限で実行するように要求されたものをすべてインストールしてから、環境に戻します。

コマンドを実行したり、gemを見つけたりすると、RVMのRubyで見つけることができません。ファイルがRVMのサンドボックスの外にインストールされているか、または所有者がいるため、読み取りも変更もできません。ルート。実際の原因が何であれ、最終的な結果は、歯の涙と歯ぎしりになります。

RVMはgem機能を破壊しません。 gemはRuby gemsのインストールと管理に使用され、RVMはそれを微調整してサンドボックスをすべての操作に使用します。 RVMがgemsetをサポートしているために機能が追加されますが、gemは従来どおり機能し、「ビッグブラザー」であるRVMだけがその世界を制御します。

11
the Tin Man

Rubygemsをインストールする必要はありません。 RVMにはすでにrubygemsがインストールされているはずです。 RVMは(私の意見では)Ruby(1.8.7や1.9.2など)やさまざまなgemsetのさまざまなインストールを管理するのに役立ちます。 Rubyのバージョンが1つだけで、異なるgemsetを気にしない場合、RVMはそれほど大きな変更ではありません。 Railsのみをインストールする場合は、gem install Railsを使用します。既存のRails 3アプリがある場合は、最初にgem install bundlerをバンドルし、次にbundle installをインストールして、Railsおよびその他のgem依存関係を取得します。

4
drewrobb