の続き。mysql の作成まで。
blog プロジェクト
Ruby on Rails を始める。チュートリアルとしては、Ruby on Rails Guides: Getting Started with Rails がオススメ。チュートリアルの通りに進んでみる。
$ rails new blog
blog ディレクトリーが出来て、その中に Ruby on Rails のソースコード一式が入っている。以下、blog ディレクトリーを (blog プロジェクトの) トップ・ディレクトリーとして作業を進める。
MySQL を使う
デフォールトのデータベースは SQLite3 になっている。MySQL を使いたいので、変更したい。まずは、config/database.yml を覗いて、データベースが SQLite3 なことを確認。
development: adapter: sqlite3 database: db/development.sqlite3 pool: 5 timeout: 5000
トップ・ディレクトリーで以下のコマンドを実行。
$ rails new blog --database=mysql
rails new blog コマンドを二度実行してしまうことになるけど、OK らしい。
config/database.yml の中身を確認。
development: adapter: mysql2 encoding: utf8 database: blog_development pool: 5 username: root password: socket: /tmp/mysql.sock
MySQL の設定
ぼくは MySQL を Synaptic パッケージ・マネージャーからインストールした。この時 root のパスワードを入力するよううながされたので、自分のログイン・パスワードを入力した。ただ、これがいけなかった。
上の設定ファイルを見ると分かる様に、username: root の password は空になっている。これは、mysql の root ユーザー (Linux の root ではない) のパスワードが空であることを指している。適当なユーザーを作ってパスワードをファイルに書くのが良いのか、root ユーザーのパスワードを空にするのか、何が良いのか分からない。
とりあえず、後者で対処した。
$ sudo mysql -p Enter password: パスワード入力 mysql> set password for root@localhost=password(''); mysql> exit
データベースの作成
MySQL では development, test, production という三つのデータベースをセットで作成する。昔は mysql コマンドでデータベースを作っていたらしいが、今はコマンド一つで作成可能。
$ rake db:create
Install gem
データベースを作るタイミングだったかな? 次のエラーが出てしまう。
Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs for a list of available runtimes.
次のコマンドを試したが、エラーは直らない。
$ sudo gem install execjs $ sudo gem install therubyracer
まず ./Gemfile に次の行を追加。
gem 'execjs' gem 'therubyracer'
そして、次のコマンドを実行するとエラーが出なくなった。
$ bundle install
あとがき
Ruby on Rails の入り口にようやく立った。初めてだと、環境設定も一苦労。昔、Rails の勉強をしようと買った本を読み返したんだけど、Rails 1.0 向けの本だった。今の Rails はバージョン 3。色々と変わってて、目が回る。勉強。勉強。
No comments:
Post a Comment