2011年12月29日木曜日

[RoR]記憶を頼りにRails Server成功までの道のりにトライ

かねしろです。

とりあえず、Rails Serverが動作するまでの手順を思い出しながらやってみたいと思います。
今回はログが飛ばないようにLive Note Down(リアルタイムログ取り)で。


sqlite3がないよーというエラーへの対処

railsで新しいプロジェクトを作るため
raiils new apptest
というコマンドを実行。
これでapptestというディレクトリが自動生成されるはずが、
「An error occured while installing sqlite3」
的なエラーが発生。
確か前回も出たような。

ぐぐってみるとこんなページが。
Ruby on Rails 2.0日記 第3回 SQLite3

  • ruby1.8-dev
  • libsqlite3-dev
  • libsqlite3-ruby
という3つのパッケージを入れると幸せになれるらしい。
確かにそんなことをしたような記憶がかすかに…
とりあえずやってみる。

お。
エラーは出なくなった。
でも怖いので、一応
sudo apt-get install sqlite3
コマンドも実行。

jquery-railsがないよーというエラーへの対処

今度は別のエラーが。
「Could not find gem 'jquery-rails (>= 0) ruby' in any of the gem sources listed in your Gemfile.」
とのこと。

そういえば
bundle install
という便利そうなコマンドがあることを思い出す。
何となく実行。

エラー文が変わった(笑)
「Could not find jquery-rails-1.0.19 in any of the sources」

bundle installを実行して、不足しているgemをインストールしたらいいよー的なアドバイスをされるも、
そもそもbundle installを実行したからこうなっているわけで。

はて、と思いつつターミナルをじっくりと眺めると
/var/lib/gems/1.8/specifications/jquery-rails-1.0.19.gemspec
に関してエラーが出てる。

とりあえずvimで開いてみる。

日付のあたりに
「00:00:00.000000000Z」
的な文字列が付加されている。
これはこの記事で書いた事象と同じだ!
ということに気づき、その文字列を削除。

で、rails server

またエラー文が変わった。

「/var/lib/gems/1.8/gems/execjs-1.2.13/lib/execjs/runtimes.rb:47:in `autodetect': Could not find a JavaScript runtime. 」
とのこと。

これも見たことあるなぁ。
確かGemfileにracerだかなんだかを書き足せばよかったような気が。

autodetectに関するエラーに対処。

ぐぐるとこんなページが見つかった。
Rails3.1でエラー「in `autodetect': Could not find a JavaScript runtime.」Add Star

記憶は正しかった模様。
とりあえずGemfileをvimで開いて
適当な箇所に
gem 'therubyracer'
と加筆。
その後bundle installを実行。

順調かと思いきや、最後にバージョンが何とか、というエラーが。
とりあえずrails serverしてみる。

「Invalid gemspec in [/var/lib/gems/1.8/specifications/libv8-3.3.10.4-x86-linux.gemspec]: invalid date format in specification: "2011-11-15 00:00:00.000000000Z"」
というエラーが。
またお前か。
しかも複数ファイルに跨っている模様。

vimで修正。
改めてbundle install

始めてエラーなしでbundle installが終了。
ドキドキの状態でrails server

「/var/lib/gems/1.8/specifications/therubyracer-0.9.9.gemspec」
で例の0000Z的なエラーが発生しているらしいです(´・ω・)

vimで修正。

今渡こそ!と思いつつrails server

動いた!


ようやく一段落です。

あと、消えてしまったメモに書いてあったことで重要なのは
  • controllerのmapping処理
  • sexy validation
あたりですかね。
これらも追々やり直しながらメモをとっていきます。

エイリアスやってなかった

すっかり忘れてましたが、エイリアスなるものを設定することで作業が楽になります。

homeディレクトリに戻ってから
sudo vim .bashrc

適当なところに
alias rs='rails server'
と打ち込んでおくと、次回からrsと打って実行するだけでrails serverコマンドを実行することができます。
# ターミナル再起動後に有効になります

今回は適当に
alias ai='sudo apt-get install'
alias rs='rails server'
alias r='rails'
を設定。
プロの方はどんな設定をしてるんですかね?

また、余談ですが
.bashrc
などの隠しファイル的なものを表示したい時は
ls -a
で確認できるようです。

今回はここまで!









0 件のコメント:

コメントを投稿