メモ
Linux Mintを使う暇なくて、結局VMwareでLinuxMint入れなおしたのでデュアルブートのを削除。
Windows側で無理に消したので案の定grub rescueが出た。
色々調べてみたところ「http://okwave.jp/qa/q7031773.html」のでなんとかなった。
Windowsのインストールディスク捨ててなくてよかった・・・
rakeバージョンダウン
第3版のバージョンでのアプリケーションに手を加えていたところrakeが上手く動かなかったのでバージョンダウン
gem uninstall rake
アンインストールして
gem install rake -v 0.8.7
バージョン指定してインストール。
ココを参考にさせて頂きました。
なんかRails3系だと少し不具合出るみたい。
bundlerバージョンダウン
今日はいつもと違う環境で一からアプリを作り直し。
さっそく
$ test rake
でエラーが。調べてみるとbundlerのバージョンが高すぎるのが原因らしい。
と、いうことでバージョンダウン。
$ gem uninstall bundler % gem install bundler -v 1.0.9
これでもエラー・・・
結局 depot/app/views/products/_form.html.erb の中での空白が原因だったようです。
最終的にbundlerはv1.0.15で出来ました。
でもなんでだろう
$ rails generate scaffold Product title:string description:text image_url:string price:decimal
とちゃんと打ってるのに『title: string』というように空白が勝手に入ってしまうのは・・・
こんなんも試しました↓
config/boot.rbの先頭に
require 'yaml' YAML::ENGINE.yamler = 'syck'
を追加。
参考:http://stackoverflow.com/questions/4980877/rails-error-couldnt-parse-yaml
結局これも要りませんでした。
第4版読み進め
今日は最初から少しだけ読み進めてみました。
ところどころでエラーが出たので調べながらの読み進め。
scaffoldの作成で『Could not find a JavaScript runtime』というエラーでたので調べてみると
JavaScriptランタイムが必要となったのでGemfileに
gem 'execjs' gem 'therubyracer'
を追加して
$ bundle install
でok
次にテストのところでエラー。
invalid multibyte char (US-ASCII)
と出たのでよくよく見てみるとファイルの先頭に
# encoding: utf-8
をつけ忘れてただけ。
これでよし!と思ったら
MiniTest v1.6.0 is out of date. (RuntimeError) `gem install minitest` and add `gem 'minitest' to you test helper.
と怒られたので一応minitestインストールしなおしてGemfileに追加記述
group :test do gem "minitest" end
これでok
あとどうでもいいけど最近viを使ってみている。
コマンド覚えてしまえば楽そう。
今はコマンド表見ながら恐る恐る編集してます。
Rubygemsバージョンダウン
新しい環境でやろうとしたらgemでエラーはいたのでgemをバージョンダウンしてみることに。
先にrubygems-updateを確認して、欲しいバージョンのじゃない場合は削除してから下のコマンド
$ gem install -v 1.6.2 rubygems-update $ update_rubygems
これでgemのバージョンがダウンしました。
ちゃんとgemsetごとにバージョンが違うので各環境でエラーなく出来ます。
追記
$ gem update --system 1.6.2
これで指定のバージョンに変更できるらしい。