今日も秋田で IoT

旧 Trema 日記

rvm を使って trema/trema-edge 共存環境をつくる

今回から OpenFlow 1.3 に対応した trema-edge に挑戦してみます。
streocat さんに先をこされた気もしますが、気にしないこととします。

trema と trema-edge では必要とする ruby のバージョンが異なります。両者を扱える環境では、複数のバージョンの ruby を使い分ける必要があります。今回は、このために rvm を使う方法を紹介します。

ruby パッケージを削除

今回 ruby はすべて rvm 経由で入れることとします。そのため、パッケージを使ってインストール済みの ruby があるとややこしくなるため、ここではこれを削除することとします。

$ sudo apt-get --purge remove ruby rubygems

ただし、この段階でシステム上に ruby が存在しない状態になります。trema 以外にも ruby を使用している場合には、悪影響が及ばないかをご確認の上、削除してください。

rvm のインストール

次に rvm をインストールします。Ubuntu にて apt-get install ruby-rvm すると、問題があるらしいとの記事をちらほら見かけます(例えばここ)。なので、パッケージを使わないでインストールします。

curl -L https://get.rvm.io | bash -s stable --ruby

curl が入っていなければ、apt-get で入れてからインストールしましょう。
インストールが出来たら、別に新しいターミナルを立ちあげて、そこで以下のコマンドを打ってください。

$ rvm list

rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

rvm のインストールと同時に ruby の最新版がインストールされているのがわかります。

rvm 経由で ruby のインストール

trema では 1.8.7-p371 を、trema-edge では 2.0.0-p0 の ruby が必要です (ここや、ここ を参照のこと)。rvm コマンドを使い、それぞれのバージョンの ruby をインストールします。

$ rvm install 2.0.0-p0
...
$ rvm install 1.8.7-p371
...

インストールが完了したら、rvm list で確認してみましょう。