Ruby サポートのインストールと設定
執筆:
Chris Kutler
2007 年 12 月 [リビジョン番号: V6.0--4]
このドキュメントでは、NetBeans IDE の Ruby サポートのダウンロード、インストール、および設定に関する情報を説明します。
目次
Ruby サポートのダウンロード
NetBeans 6.0 IDE がない場合は、NetBeans IDE 6.0 のダウンロードページ から、Ruby サポートが含まれる IDE のバージョンをダウンロードしてください。Ruby サポートを含まない NetBeans IDE 6.0 をインストールしている場合は、次の手順で IDE に Ruby サポートを追加します。
ネットワークでプロキシを使用している場合は、メインメニューから「ツール」>「オプション」を選択します。次に、「オプション」ダイアログで「手動でプロキシ設定」ラジオボタンを選択し、プロキシの「HTTP プロキシ」と「ポート」を入力して「了解」をクリックします。
メインメニューから「ツール」>「プラグイン」を選択します。
「プラグイン」ダイアログで「使用可能なプラグイン」タブをクリックし、次に示すように Ruby のカテゴリまでスクロールします。
図 1: プラグインマネージャー
「Ruby および Rails」チェックボックスを選択し、NetBeans IDE の Ruby サポートを入手します。
(省略可能) JRuby ソフトウェアと Ruby on Rails フレームワークをダウンロードしてインストールするには、「JRuby および Rails のディストリビューション」チェックボックスを選択します。
注: Ruby および Rails のディストリビューションを使用するためには、Ruby または JRuby ソフトウェアのいずれかをシステムにインストールしておく必要があります。このソフトウェアがない場合、IDE で Ruby プロジェクトの作業を開始する前に、このプラグインをインストールするか、JRuby または Ruby ソフトウェアをダウンロードしてインストールする必要があります。
(省略可能) 次のプラグインから 1 つまたは複数を選択します。
Extra Ruby Color Themes。 Ruby ファイルタイプのエディタのカラーテーマを追加します。
Depot サンプル。 JRuby on Rails アプリケーションのサンプルです。
Ruby Extra Hints。 局所変数名の衝突検出や Ruby コーディング規則違反の変数名検出など、Ruby のコーディングヒントを追加します。
Ruby RSpec support。 RSpec フレームワークが IDE でサポートされます。
「インストール」をクリックします。
NetBeans IDE のインストーラが表示されます。
NetBeans IDE のインストーラで「次へ」をクリックします。
ライセンス契約書を読み、「すべてのライセンス契約条件に同意する」ラジオボタンを選択して、「インストール」をクリックします。
インストールが完了したら、「今すぐ IDE を再起動」または「あとで IDE を再起動」のいずれかを選択し、「完了」をクリックします。
独自の Ruby インストールを使用するための IDE の設定 (省略可能)
IDE で Ruby プロジェクトを最初に作成するか、または開くと、バンドルされた JRuby ソフトウェア以外に Ruby のインストールが存在するかどうかが IDE によって確認されます。存在する場合、使用するソフトウェアを選択するよう求めるダイアログが表示されます。
Ruby ソフトウェアをあとでインストールする場合、次の手順を完了して IDE を設定し、Ruby インストールを使用できます。
IDE で、メインメニューから「ツール」>「オプション」を選択します。
「Ruby」をクリックし、必要に応じて「プラットフォーム」タブをクリックします。
まだ Ruby プロジェクトを開いていない、または作成していない場合、初めて「プラットフォーム」タブにアクセスすると、「Ruby インタプリタを選択」ダイアログが表示されます。次の図に示すように、ダイアログには使用可能な Ruby インストールの一覧が表示されます。ダイアログが表示されない場合、手順 5 に進みます。
図 2: 「Ruby インタプリタを選択」ダイアログ
使用する Ruby インタプリタを選択します。使用する Ruby イタプリタが一覧に表示されない場合、「その他」をクリックします。
「閉じる」をクリックします。
手順 3 で「その他」を選択した場合や「Ruby インタプリタを選択」ダイアログが表示されない場合、次の図に示すように「参照」ボタンをクリックします。Ruby バイナリのある場所に移動し、「開く」をクリックします。
図 3: Ruby の「オプション」ウィンドウ
注: 「新規プロジェクト」ウィザードの手順 2 で「変更」ボタンをクリックして、Ruby の「オプション」ウィンドウにアクセスすることもできます。
「了解」をクリックして「オプション」ダイアログを閉じます。
Ruby ソフトウェアの入手に関する情報は、www.ruby-lang.org 、instantrails.rubyforge.org 、および locomotive.raaum.org を参照してください。.
Gem の管理
Gem とはサードパーティーの Ruby ライブラリです。IDE には、Gem の追加および管理用の Ruby Gems マネージャーが用意されています。メインメニューから「ツール」>「Ruby Gems」を選択して、Ruby Gems マネージャーを開きます。このマネージャーには、次のタブがあります。
「更新」。 インストール済みの Gem のうち、新しいバージョンを入手できるものを一覧表示します。
「インストール済み」。 登録した Ruby プラットフォームにインストールされている Gem の一覧を表示します。Ruby プラットフォームの登録に関する情報は、前のセクションを参照してください。JRuby プラットフォームを使用中で、IDE に「JRuby および Rails のディストリビューション」プラグインが組み込まれている場合、次の図に示すように、一覧には「ActiveRecord-JDBC」 Gem と Rails フレームワークが表示されます。
「新しい Gem」。 Ruby プラットフォームに追加できる Gem を一覧表示します。
「設定」。 このタブを使用して、プロキシを設定します。
図 4: Ruby Gems マネージャーの「インストール済み」タブ
注: RubyGems wiki ページ には、Ruby Gems マネージャーでネイティブ Ruby gem リポジトリを管理できるようにする方法が記載されています。
Ruby Gems に関する詳細は、www.ruby-lang.org/en/libraries/ を参照してください。Rails に関する詳細は、rubyonrails.org を参照してください。ActiveRecord-JDBC の Gem に関する情報は、jruby-extras.rubyforge.org/ActiveRecord-JDBC を参照してください。
JRuby でのデータベースサーバーの使用
JRuby on Rails アプリケーションからデータベースへは、次の 2 つのうちのいずれか 1 つの方法でアクセスできます。
MySQL アダプタ。 MySQL アダプタは JRuby に含まれています。このアダプタは、ネイティブの Ruby on Rails アプリケーションで使用するのと同様に使用できます。
JDBC アダプタ。 前述したとおり、「JRuby and Rails のディストリビューション」プラグインには ActiveRecord-JDBC Gem が含まれており、これによって JRuby on Rails アプリケーションが MySQL、PostgreSQL、Oracle、HSQLDB、および Java DB (別名 Derby ) といった JDBC 3.0 準拠のドライバを持つデータベースサーバーにアクセスできます。JDBC ドライバは Pure Java ドライバである必要があります。このドキュメントの執筆時点では、ActiveRecord-JDBC は Sqlite JDBC ドライバとは動作しません。
JDBC 接続を使用するには、データベースサーバー用に JDBC 3.0 ドライバを入手し、JRuby/lib フォルダにその JDBC ドライバのコピーを置く必要があります。インストールの状況によって、このフォルダは次のいずれかの場所にあります。
netbeans-install-dir /ruby1/jruby-1.0.2/lib
netbeans-user-dir /jruby-1.0.2/JRuby/lib
注: MySQL および PostgreSQL の JDBC ドライバは IDE にバンドルされています。GlassFish アプリケーションサーバーをインスト-ルしている場合、Java DB ドライバも利用できます。ドライバの場所を確認するには、「サービス」ウィンドウで「データベース」>「ドライバ」を展開します。ドライバのノードを右クリックし、「カスタマイズ」を選択します。ダイアログが開き、ドライバファイルの場所が表示されます。
Ruby on Rails プロジェクトで JDBC アダプタを使用するには、次の図に示すように、プロジェクトの作成時に「JDBC を使用したアクセスデータベース」チェックボックスを選択します。
図 5: JDBC データベースアクセスの選択
このチェックボックスを選択すると、次の文が environment.rb ファイルに挿入されます。
コード例 1: JDBC 環境の設定
if RUBY_PLATFORM =~ /java/
require 'rubygems'
gem 'ActiveRecord-JDBC'
require 'jdbc_adapter'
end
データベースへのアクセスに JDBC アダプタを使用する場合、database.yml でデータベース設定を行います。このとき、次のコード例に示すとおり、データベースの Rails アダプタを使用しているのと同様に設定します。
コード例 2: JDBC データベース設定例
adapter: mysql
database: my_development_database
username: fred
password: secret
host: localhost
Ruby on Rails プロジェクトを作成する場合、図 5 に示すように、ウィザードの手順 2 で選択したデータベースサーバーに関する設定が database.yml に追加されます。ドロップダウンリストにないデータベースサーバーを使用している場合、プロジェクトを作成したあとに database.yml ファイルのデータベース設定を編集できます。
注: 使用中のオペレーティングシステムのホストファイルに localhost がない場合、代わりに 127.0.0.1 を使用します。また、一部のシステムではデータベース設定を小文字で行う必要があります。
データベースの追加
一部の NetBeans チュートリアルでは、チュートリアルで使用するデータ表用にデータベースを作成する必要があります。データベース追加の手順は、データベースサーバーごとに異なります。次の手順は、MySQL および Java DB データベース向けです。
MySQL データベースの追加
データベースサーバーをまだ起動していない場合、起動します。
(省略可能) 次の手順に従ってユーザーを作成します。
コマンドプロンプトで次のコマンドを入力します。
mysql -u user -p
ユーザーにパスワードがない場合は -p を省略します。それ以外の場合、パスワード入力を求められたら入力します。ユーザーは、MySQL データベースに対してグローバルな CREATE USER 特権または INSERT 特権を持っている必要があります。たとえば root ユーザーなどです。
次の例のような構文を使用して、ユーザーを作成します。
CREATE USER 'fred'@'localhost'
identified by 'secret';
(省略可能) 次のような構文を使用して、アクセス特権を指定します。この例では、localhost データベースサーバー上のすべてのデータベースに対する全特権が、ユーザーに付与されています。
GRANT ALL PRIVILEGES ON *.* TO 'fred'@'localhost';
「quit 」と入力して Enter キーを押し、終了します。
データベースを作成するには、コマンドプロンプトで次のような構文を使用します。
mysqladmin -u fred -p create mydb_development
ユーザーにパスワードがない場合は -p を省略します。それ以外の場合、パスワード入力を求められたら入力します。ユーザーを作成していなかった場合、root をユーザー名として使用できます。
MySQL ユーザーおよびデータベースの作成に関する情報は、『MySQL Reference Manual 』を参照してください。
Java DB (Derby) データベースの追加
GlassFish アプリケーションサーバーを含むバージョンの IDE をインストールした場合、GlassFish に付属の Java DB データベースにアクセスするよう、IDE が設定されています。次の手順に従うと、IDE から Java DB データベースを追加できます。
IDE のメインメニューから「ツール」>「Java DB データベース」>「データベースを作成」を選択します。
次の例で示すように、「Java DB データベースを作成」ダイアログで「データベース名」、「ユーザー名」、および任意で「パスワード」を入力します。
図 6: 「Java DB データベースを作成」ダイアログ
(任意) データベースに対して別の場所を指定する場合、「設定」をクリックしてから「データベースの場所」の「参照」ボタンをクリックし、データベースを配置するフォルダに移動して「開く」をクリックします。「了解」をクリックして「Java DB 設定」ダイアログを閉じます。
「了解」をクリックします。
次の図に示すように、IDE がデータベースを作成して「サービス」ウィンドウの「データベース」にノードを追加します。
図 7: 「サービス」ウィンドウのデータベースノード
IDE へのデータベースの登録
Ruby プロジェクトからデータベースを使用するために、データベースを IDE に登録する必要はありません。ただし、データベースを登録すると、IDE から直接、表の作成や表示、SQL コマンドの実行ができます。
IDE へのデータベースサーバーの登録
まず、IDE にデータベースサーバーを登録する必要があります。IDE では次のドライバをテスト済みです。
Java DB 10.3.1.4
MySQL Connector/J 5.0.7
PostgreSQL 8.2 build 506
Oracle 10.2.0.3
MySQL、PostgreSQL、およびオプションとして Java DB がすでに IDE に登録されています。次の手順では、その他のデータベースサーバーを IDE に登録する方法を説明しています。
使用するデータベースサーバー用の JDBC 3.0 準拠ドライバがない場合、入手します。
次の手順で、このドライバへのパスを指定します。IDE は JDBC ドライバを使用してデータベーススキーマにアクセスし、データベースにクエリーを実行します。データベースドライバが完全に JDBC 3.0 準拠ではない場合、IDE のデータベースツールを使用する際に問題が発生することがあります。
「サービス」ウィンドウで「データベース」を展開し、「ドライバ」ノードを右クリックしてポップアップメニューから「新規ドライバ」を選択します。
「新規 JDBC ドライバ」ダイアログが表示されます。
「追加」をクリックし、続いてドライバの JAR ファイルの場所まで移動して選択し、「開く」をクリックします。
「新規 JDBC ドライバ」ダイアログに、選択したドライバの設定が表示されます。
「了解」をクリックして「新規 JDBC ドライバ」ダイアログを閉じます。
「ドライバ」ノードの下にあるデータベースサーバーにノードが追加されます。
データベースインスタンスへの接続確立
次の手順では、前のセクションで説明した mydb_development データベース例のように、データベースインスタンスに対して、IDE から接続を作成する方法を説明します。
「サービス」ウィンドウで、「データベース」ノードを右クリックし、「新規接続」を選択します。
「データベースの新規接続」ダイアログが表示されます。
「名前」ドロップダウンリストから使用するドライバを選択します。たとえば「MySQL (Connector/J driver)」です。
「データベースの URL」テキストボックスに表示されるパターンを参考にして、データベースの URL をテキストボックスに入力します。たとえば、「jdbc:mysql://localhost:3306/mydb_development 」と入力します。
次の図に示すように、ユーザー名と、必要であればパスワードを入力します。
図 8: データベースの新規接続
「了解」をクリックします。
接続が確立したら、「了解」をクリックしてダイアログを閉じます。
「データベース」ノードの下に接続用のノードが追加されます。ノードのバッジは、接続が開いていることを示します。次回 IDE を開始するときは、バッジが壊れた形になり、接続が閉じていることを示します。再接続するには、ノードを右クリックして「接続」を選択し、必要に応じてパスワードを入力して、「了解」をクリックします。
GlassFish への JRuby アプリケーションの配備
デフォルトでは、使用している JRuby アプリケーションは WEBrick ブラウザで実行されます。JRuby アプリケーションを GlassFish アプリケーションサーバーに配備する場合、アプリケーションとそれが依存しているファイルを WAR (Web Archive) ファイルにパッケージ化できます。続いて次の手順で示すように、WAR ファイルをアプリケーションサーバーで利用できるようにします。
配備したアプリケーションは、本稼働用のデータベースを使用します。database.yml ファイルを開き、本稼働用の設定が正しく設定されていることを確認します。
JRuby アプリケーションを作成するとき、次の図に示すように、アプリケーションサーバーの配備をサポートする Rake ターゲットを追加するオプションが表示されます。GlassFish に配備する場合、このチェックボックスを選択してください。
図 9: WAR Rake ターゲットを提供するオプション
この Rake ターゲットがない既存の JRuby プロジェクトがある場合、次の手順に従って Goldspike プラグインをプロジェクトに追加します。このプラグインによって、WAR ファイルの作成を可能にする Rake タスクが追加されます。
「プロジェクト」ウィンドウでプロジェクトのノードを右クリックし、ポップアップメニューから「Rails プラグイン」を選択します。
「Rails プラグイン」ダイアログで、「新しいプラグイン」タブをクリックします。
Goldspike のエントリが見つからない場合、次の手順に従って Goldspike プラグインのあるリポジトリを登録します。
「リポジトリ」タブをクリックします。
「URL を追加」をクリックします。
「リポジトリ URL を追加」ダイアログで、「http://jruby-extras.rubyforge.org/svn/trunk/rails-integration/plugins 」と入力し、「了解」をクリックします。
リポジトリが追加されたら「閉じる」をクリックします。
「新しいプラグイン」タブをクリックします。今度は Goldspike のエントリが表示されるはずです。
Goldspike のエントリを選択し、「インストール」をクリックします。
「了解」をクリックしてインストールを開始します。
インストールと Rails プラグインの両方のダイアログを閉じます。
プロジェクトのノードを右クリックし、ポップアップメニューで「Rake タスクの実行」>「一覧を再表示」を選択します。
アプリケーションを WAR ファイルにパッケージ化するには、プロジェクトのノードを右クリックし、「Rake タスクの実行」>「War」>「スタンドアロン」>「作成」を選択します。
WAR ファイルが作成され、プロジェクトのトップフォルダに置かれます。
JDBC アダプタを使用している場合、データベースサーバーの JDBC ドライバのコピーを glassfish-install-dir /lib に置き、GlassFish サーバーを起動 (または再起動) します。
このドキュメントの執筆時点では、MySQL データベースに接続していない場合、JDBC アダプタを使用する必要があります。
新しく作成した WAR ファイルのコピーを GlassFish の自動配備フォルダにコピーします。たとえば、projects-folder /MyRubyApp/MyRubyApp.war を glassfish-install-dir /domains/domain1/autodeploy にコピーします。
ブラウザでアプリケーションの URL に移動します。たとえば、http://localhost:8080/MyRubyApp です。
次の手順
>> その他の Ruby ドキュメント