えびしブログ

〜サーバーは魔法で動いているわけではない〜

rbenvとは、gemとは何か?

はじめに

Chefの勉強をするにあたってruby環境を作ったのですが、 ruby関係のことばでよく聞く

  • rbenv
  • gem

についてちゃんと理解してなかったためぐぐってみました。

rbenvとは?

Rubyのバージョンをかんたんに切り替えてくれるやつ!

ふむふむ。 プロジェクトごとにRubyのバージョンが異なるということはよくありそうなので、簡単に切り替えられるのは便利そうですね。

インストール方法

環境はMac OS X 10.8.5です。 githubからcloneしてきます。

# rbenvをclone
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
# PATHの設定
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
# rubyをインストールするためにruby-buildというプラグインが必要らしいのでcloneする
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Homebrewでもインストールできるみたいです。

簡単な使い方です。

# インストール可能なバージョン一覧を表示
rbenv install -l
# バージョン 2.0.0-p353 をインストール
rbenv install 2.0.0-p353
# インストール済み一覧表示
rbenv versions
# インストールしたバージョンに切り替える
# globalを指定するとPC全体のrubyのバージョンが切り替わる
# localを指定するとカレントディレクトリのみ切り替わる
rbenv global 2.0.0-p353
# 現在のバージョン確認
ruby --version

参考

https://github.com/sstephenson/rbenv https://github.com/sstephenson/ruby-build

ちなみに、gccが入っていないとrubyのインストールに失敗してしまいます。 Macの場合、Xcodeコマンドラインツールをインストールするとgccコマンドラインで使えるようになるそうです。

参考

http://kawairi.jp/weblog/vita/201204255985

gemとは?

Rubyサードパーティ製のライブラリの形式のこと

Rubyに付属しているRubyGemsというパッケージングシステムでライブラリの作成・公開・インストールができるらしいです。

ライブラリのインストール方法はよく知られているとおりこんなかんじです。

gem install hoge

参考

https://rubygems.org/

Bundler

gemライブラリの種類やバージョンを管理するのにBundlerというツールを使うとよさそうです。

参考

http://bundler.io/ http://blog.mirakui.com/entry/20100703/1278165723 http://www.rubylife.jp/rails/ini/index2.html

おわりに

Rubyでがりがりプロジェクトを作るとしたらrbenvとかbundlerは必須なのかなーと思いました。 Chefを使いたいというぐらいだったらここまでしなくてもよいかなーと思いましたが、あまりシステムのRuby環境をいじりたくなかったので導入してよかったと思います。

おわり。