無料Ruby開発環境セッティング(LinuxMint13+AptanaStudio3)

# 導入
LinuxMint13 cinnamon版(Ubuntu12.04)で、無料のRuby開発環境を設定する。
  
具体的には、
AptanaStudio3をインストール・日本語化し、RVMでRubyのバージョン管理を行った状態で、
Rubyのデバッグを行えるようにする。
  
# 環境設定
## AptanaStudio3
### インストール
[AptanaStudio3のダウンロードサイト](http://aptana.com/products/studio3/download)へアクセスし、"DOWNLOAD APTANA STUDIO 3"のボタンを押す。
ダウンロードファイルを任意の場所へ解凍・配置し、実行権限を付与する。
私は端末（コマンドプロンプト）で下記を入力し、「/opt/Aptana_Studio_3」へ配置した。

```bash:カレントディレクトリのAptanaStudio3を「/opt」へ配置し、実行権限を付与する
sudo mv Aptana_Studio_3 /opt/
sudo chmod -R 755 /opt/Aptana_Studio_3
```
　※参考：[Cre >> Aptana StudioをUbuntuにインストールする方法](http://cre.main.jp/aptana-studio%E3%82%92ubuntu%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/)

### ランチャーへの登録
デスクトップの"Menu"を右クリック、"Edit menu"をクリックする。
Main Menu画面でMenus欄の"Programming"をクリック、"+ New Item"ボタンを押す。
ランチャーの生成画面で下記を入力する。

 + 種類：アプリケーション
 + 名前：Aptana Studio 3
 + コマンド：/opt/Aptana_Studio_3/AptanaStudio3
 + コメント：IDE for web programming

その後、"OK"ボタンを押す。

### コマンドの登録

端末で下記の入力をする。

```bash:「AptanaStudio3」のコマンドを作成する
sudo ln -s /opt/Aptana_Studio_3/AptanaStudio3 /usr/local/bin/AptanaStudio3
```

### 日本語化
[Eclipse 日本語化 | MergeDoc Project](http://mergedoc.sourceforge.jp/)へアクセスし、Pleiades プラグイン・ダウンロード欄の安定版又は最新版をクリックする。私は最新版を利用した。
ダウンロードファイルを解凍、pluginsとfeaturesを「/opt/Aptana_Studio_3」へ配置する。

```bash:カレントディレクトリのpleiadesプラグインを「/opt/Aptana_Studio_3」へ配置する
sudo cp -r plugins /opt/Aptana_Studio_3
sudo cp -r features /opt/Aptana_Studio_3
```
AptanaStudio3.iniの最終行に、
「-javaagent:/opt/Aptana_Studio_3/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar」を追記する。

```bash:AptanaStudio3.iniをgeditで開く
sudo gedit /opt/Aptana_Studio_3/AptanaStudio3.ini
```

　※参考：[フリーの高機能HTMLエディタ「Aptana Studio3」の日本語化と「Zen-Coding」のインストール方法  | 便利なツール](http://meglog.net/useful-tools/aptana-studio3-zen-coding.html)

## Ruby
### RVMのインストール

端末で下記の入力をする。

```bash:RVMをインストールする
#apt-getを最新化
sudo aptitude update 
sudo aptitude upgrade

#RVM関連パッケージをインストール
sudo aptitude install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion ruby-full rubygems

#RVMをインストール
\curl -sSL https://get.rvm.io | bash -s stable
```
　※参考：[Linux で rvm を用いて Ruby をインストール](http://www.kkaneko.com/rinkou/ruby/rubyrvmlinux.html)

その後、端末を開き、メニューバーの"Edit"内の"Profile Preferences"をクリックする。
"Title and Command"タブの中の"Run command as a login shell"をチェックONにする。

### Ruby1.9.3のインストール
端末で下記の入力をする。

```bash:RVMでRuby1.9.3をインストールする
rvm install 1.9.3
```
　※AptanaStudio3はRuby2系のデバッグをサポートしていない。（2014/3/7現在）

### Aptanaデバッグ用gemセットのインストール

端末で下記の入力をする。

```bash:Aptanaデバッグ用gemをインストールする
#任意のフォルダへ移動
cd /home/<あなたのアカウント名>/temp

#Aptanaデバッグ用のGemセットのインストール
gem install bundler
wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem
gem install linecache19-0.5.13.gem
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/home/<あなたのアカウント名>/.rvm/rubies/ruby-1.9.3-p545/include/ruby-1.9.1/ruby-1.9.3-p545
　# ※1
gem install ruby-debug-ide19
gem install ruby-debug19
gem install debugger
```

ruby-debug-ide19が廃止された関数を使っており、そのままではエラーになる。
その為、ruby-debug-ide19を修正する。

端末で下記の入力をする。

```bash:ruby-debug-ide.rbを開く
gedit /home/<あなたのアカウント名>/.rvm/gems/ruby-1.9.3-p545@global/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb
　# ※1
```

開かれたファイルのrequire文の下にis_binary_data?関数を記述する

```rb:is_binary_data?関数
class String
  def is_binary_data?
    ( self.count( “^ -~”, “^\r\n” ).fdiv(self.size) >
    0.3 || self.index( “\x00″ ) ) unless empty?
  end
end
```

※1
　指定するフォルダは環境により多少異なる。
　記載のアドレスを参考に類似するフォルダを探す。

#プロジェクトごとの設定
##プロジェクトごとのgemフォルダの作成
```bash:プロジェクト専用のgemフォルダを作成する
rvm use --create 1.9.3@try_ruby_01
rvm gemset copy 1.9.3@global 1.9.3@try_ruby_01
```
##プロジェクトで使用するgemフォルダの指定
AptanaStudio3でプロジェクトを作成し、プロジェクトのルートフォルダで下記の2ファイルを作る。

```.ruby-version
ruby-1.9.3
```
```.ruby-gemset
try_ruby_01
```

##端末内で使用するRubyの再設定

端末で下記の入力をする。

```bash:最新Rubyを端末内で使用する
rvm use ruby-head
```