RVMはRubyのバージョンの問題を解決する

4082 ワード

RVMはコマンドラインツールであり、便利なマルチバージョンRuby環境の管理と切り替えを提供します.
RVMの公式サイトはhttps://rvm.io/. Ruby/Railsを学ぶ場合は、RVMは欠かせないツールの一つです.
ここですべてのコマンドは再ユーザ権限で操作されるので、どんなコマンドもsudoを使わないほうがいいです.
RVMインストール
$ curl -L get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile

RVMのRubyインストール元を国内の淘宝ミラーサーバーに変更することで、インストール速度を向上
FOR Mac
$ sed -i .bak -E 's!https?://cache.ruby-lang.org/pub/ruby!https://ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db

FOR Linux
$ sed -i -E 's!https?://cache.ruby-lang.org/pub/ruby!https://ruby.taobao.org/mirrors/ruby!' $rvm_path/config/db

Rubyのインストールと切り替え
既知のRubyバージョンを一覧表示
$ rvm list known

Rubyバージョンのインストール
$ rvm install 2.2.0

ここに最新の2.2.0がインストールされています.rvm list knownリストの中のものはすべてインストールできます.
Rubyバージョンの切り替え
$ rvm use 2.2.0

デフォルトバージョンに設定すると、後で新しく開いたコンソールのデフォルトのRubyがこのバージョンになります.
rvm use 2.2.0 --default 

インストール済みrubyのクエリー
$ rvm list

インストール済みバージョンのアンインストール
$ rvm remove 1.8.7

gemsetの使用
RVMは、複数のRubyバージョンが共存する環境を提供するだけでなく、プロジェクトによって異なるgemsetを管理することもできる.
gemsetは独立した仮想Gem環境であり,各gemsetは互いに独立していると理解できる.
例えば、Rails 2.3とrails 3の2つのプロジェクトがあります.Gemsetは、Gem開発環境を2つ簡単に構築し、切り替えを容易にすることができます.
gemsetはRuby言語バージョンの下に添付されています.例えば、1.9.2を使ってrails 3というgemsetを構築しました.1.8.7に切り替えると、rails 3というgemsetは存在しません.
gemsetの作成
$ rvm use 1.8.7
$ rvm gemset create rails23

次に、現在の環境として確立されたgemsetを設定できます.useは、言語またはgemsetを切り替えるために使用することができる
前提は、すでにインストール(または確立)されていることです.リストコマンドで表示できます.
$ rvm use 1.8.7
$ rvm use 1.8.7@rails23

そしてすべてのインストールGemはこのgemsetの下にインストールされます.
現在のRubyのgemsetを一覧表示
$ rvm gemset list

gemsetのGemをクリア
gemsetのすべてのGemを空にしたい場合は、すべてのGemを再インストールします.
$ rvm gemset empty 1.8.7@rails23

gemsetを削除
$ rvm gemset delete rails2-3

プロジェクト自動ロードgemset
RVMはgemsetを自動的にロードすることもできます.例えば、Rails 3.1.3プロジェクトがあり、1.9.3バージョンRubyが必要です.プロセス全体でそうすることができます.
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm gemset create rails313
$ rvm use 1.9.3@rails313

次にプロジェクトディレクトリに入り、作成します.rvmrcファイル.
このファイルには簡単にコマンドを追加できます.
$ rvm use 1.9.3@rails313

次に、現在のRubyの設定にかかわらず、cdがこのプロジェクトに到達すると、RVMはRuby 1.9.3とrails 313 gemsetをロードします.
gemのミラーリングの問題を解決する
初心者にとっては、bundleを実行するときに引っかかるイメージに必ず遭遇します.これはrubygemのためです.orgでは国内では超スローで利用できない状態とも言える.私たちはtaobaoを持っていて、taobaoが提供したミラーでこの頭が痛い問題に代わることができます.
宝を洗うRubyGemsの鏡像
以下はRubyGemsに引用された使用説明です.
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
#       ruby.taobao.org
$ gem install rails

GemfileとBundle(Railsプロジェクトなど)を使用する場合は
BundlerのGemソースコードでコマンドをミラーできます.
$ bundle config mirror.https://rubygems.org https://ruby.taobao.org

これでGemfileのソースを変更する必要はありません.
source 'https://rubygems.org/'
gem 'rails', '4.1.0'
...

RVMによるNginx+Passengerの迅速な導入
Passengerは、RackフレームワークベースのRuby app(Railsを含む)をサポートするapp serverです.Passengerは、モジュールとしてNginxにコンパイルする必要があるのが特徴で、構成が簡単で、起動スクリプトを自分で書く必要がないという利点があります.
まずPassengerをインストールします
$ gem install passenger

その後、passenger-install-nginx-moduleを使用して、Nginxおよび導入をインストールします.
このステップにはroot権限(Nginxをコンパイルするため)が必要なのでrvmsudoというもの(これは本当にいいものです)を使うことができます.
$ rvmsudo passenger-install-nginx-module

次に、Nginxソースコードをダウンロードして自動的にコンパイルするか、自分でNginxソースコードの場所を選択するかを選択します.
Nginx手動インストールを選択すると、別のコンパイルパラメータを追加でき、カスタムコンパイルNginxを容易にすることができます.
その後、ダウンロードしてインストールします.デフォルトの設置位置は/opt/nginxである.
それからnginxを見てください.conf、すべてあなたに配置して、root位置(yourapp/public)を加えるだけでいいです.
初めてのインストールが完了すると、「これは爽やかですね」と驚きました.