Synapticパッケージマネージャで行う
インストールしている間に次に進む。
$ rvm use 1.9.2@fwifferを実行しようかと思ったけど、.rvmrcを作って移動したら自動的にrvmが切り替わるようにする
.rvmrcでの自動切り替え設定
$ cd Desktop/hoge $ vi .rvmrc rvm use 1.9.2@fwiffer $ cd .あれ? 切り替わらない。
$ rvm info No command 'rvm' found, but there are 20 similar ones rvm: command not foundrvmが動作していない。。。
.bash_profileに書いたのがまずかったのかな?
調べた結果、.bashrcに書いてみる。
http://d.hatena.ne.jp/atsm/20110518/1305690506
$ vi ~/.bashrc $ soruce ~/.bashrc $ rvm info動いた。次回は大丈夫かどうか新しい端末でやってみる。
...動いた。前回作ってしまった.bash_profileはrvmの事しか書かなかったから削除しておこう。
確認のため、新しく端末を立ち上げて
$ rvm info動いてる。
先ほど.rvmrcを作ったディレクトリに移動
$ cd ~/Desktop/hoge.rvmrcのメッセージが出た。これはyesにする。
どこに記録されているかというと、OSXの時は
~/.rvm/config/rvmrcs
の中にあった。
ubuntuを見てみると無い。
バージョンが違うのかな。
探してみる
$ find .rvm -name rvmrcs .rvm/user/rvmrcsここにあるのか。
この=1を0にすると.rvmrcは無効になる。(OSXではそうでした)
増えていったらどうするんだろう。
gitのリポジトリの登録
gitのインストールが終わっている事を確認して、
$ cd ~/Desktop/hoge $ git initで準備完了
$ git statusで確認。
個人的にはgit statusはgだけで呼び出したいのでエイリアスを作成。
$ vi ~/.bashrc読むと.bash_aliasesに書いた方が良さそう。
$ vi ~/.bash_aliases alias g="git status" $ source ~/.bashrc $ gエイリアスが作れた。
最初のコミットをしておく。
$ cd ~/Desktop/hoge $ git add . $ git commitあれ?vimじゃなくて、nanoエディタが起動した。
Ctrl+xで終了させる。
gitのエディタはどうやって登録するんだろう。GIT_EDITORのような設定があるんだろうな。
環境変数EDITORで設定
http://d.hatena.ne.jp/ser1zw/20101226/1293297973
git configで設定
http://d.hatena.ne.jp/Seasons/20090331/1238526187
今回はgitの設定で行う。
$ git config --global core.editor 'vim'後ろにオプションはつけないで様子をみる。
$ git commitvimが起動した。
Rails3 initialize
とでも書いて保存してコミットする。
これでGitの準備は完了。
RSpec2をインストール
rspecはRailsから使う場合はpluginで良いかもしれないけど、gemにインストールする。
gem install rspecじゃなくて、
bundlerで書きたい。$ vi Gemfile group :test do gem 'rspec' gem 'rspec-rails' end保存して、
$ bundle install . . Installing rspec-core (2.6.3) Installing rspec-expectations (2.6.0) Installing rspec-mocks (2.6.0) Installing rspec (2.6.0) Installing rspec-rails (2.6.1)上記5つがインストールされた。
早速テスト。
https://github.com/rspec/rspec-rails
を見ると、rspec-railsはdevelopmentにも書く必要があるよう。
書き直す
$ vi Gemfile group :test, :development do gem "rspec-rails", "~> 2.4" endrspecの項目を削除して書き換えてみる。(いいのかな)
$ script/rails generate rspec:install create .rspec create spec create spec/spec_helper.rb準備完了。
このページにはautotestやCapybaraのインストールが書いてあるけど、今はいい。
Rspecでテストを書く
scaffoldを作ったらspecファイルも作成されるのかな?
$ rails generate scaffold topic user_id:integer title:string body:text出力をみるとできてる!
とりあえず下記を追加
$ vi spec/model/topic_spec.rb it "empty" do [].should be_empty endを追加してみて、保存
実行が分からない。
$ rake -Tを見ると、
rake spec:models # Run the code examples in spec/modelsとあった。
$ rake spec:models You have 1 pending migrations: 20110531122959 CreateTopics Run "rake db:migrate" to update your database then try again.おぉ。migrationしてなかった。
$ rake db:migrate $ rake spec:modelsテストできた。
どうやら、
bundle exec rspec ./spec/models/topic_spec.rb
を実行しているようだ。
$ bundle exec rspec spec/models/topic_spec.rbでもテストできた。rakeで行うと、(恐らく)dbの初期化とか行ってくれるんだろうな。
cucumberをインストール
これもbundleでインストールする。
cucumber-railsはプラグインでも良いのだけれど、bundleでインストールしよう。
https://github.com/m3talsmith/cucumber-rails
$ vi Gemfile group :test, :development do gem "rspec-rails", "~> 2.4" gem "capybara" gem "database_cleaner" gem "cucumber-rails" end $ bundle installnokogiriのインストールでエラーが出た。
libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.libxml2が必要。
rvm packageでlibxml2をインストール
$ rvm package install libxml2
結構時間がかかる。
rubyをインストールしなおすか分からないが、とりあえずbundleを実行
$ bundle installやっぱりnokogiriでlibxml2の同じエラーが出る。rubyをインストールしなおす
$ rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-libxml2-dir=$rvm_path/usr
これ、1.9.2の最新がp180のままだから良いけど、バージョンが変わってしまったら違うのがインストールされてgemも変わるだろうなぁ。-headでインストールしても良いのかもしれないけど。ただ、もうGemfileを書いたのでgemのインストールは簡単にできる。
1.9.2のインストール後に再度bundleを実行
$ bundle installうまく…いかない...
また同じエラー。なぜだろう?rubuのインストール時に-Cオプションが必要なのかな?でもそれだと、zlibとかopensslの時にもエラーが出ていても良いわけだし。
https://rvm.beginrescueend.com/packages/zlib/
rvmでパッケージをインストールするときに、zlibだけど、rubyを削除してから行っている。
一度削除して実行してみる。
$ rvm remove 1.9.2 $ rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-libxml2-dir=$rvm_path/usr
Rubyをインストールしなおしたから、gemを作る。
$ rvm use 1.9.2 $ rvm gemset create fwiffer $ rvm gemset use fwiffer
bundleを実行
$ bundle installやっぱりlibxml2でエラーが出てしまう。
というか、gemは削除されていなかったみたい。
インストールの途中で調べていたら、rubyのインストールオプションで
--with-opt-dirというのがある。
http://d.hatena.ne.jp/ser1zw/20110430/1304104548
これが最後。インストールしなおし
$ rvm remove 1.9.2 $ rvm install 1.9.2 -C "--enable-shared=true,--with-opt-dir=$HOME/.rvm/usr"インストール後再度bundleを実行。
試しに、rvm list、gem
を実行すると、既に1.9.2が設定されていて、gemも残っていた。
bundleを実行
$ bundle installやっぱりlibxml2で同じエラー。
残念ながらUbuntuでlibxml2をインストール
Synapticパッケージマネージャからlibxml2-devをインストール
インストール後再度bundleを実行
$ bundle install…あれ。またエラー。libxml2もインストールする必要があるのかな?
Synapticパッケージマネージャからlibxml2をインストール
インストール後再度bundleを実行
$ bundle install…だめだ。これでもエラーが出る。うーん。
と、よく見ると、今度はlibxsltのエラーになってる!進んだ。
出力を見ると、libxml2-devをインストールしたらlibxsltのエラーに変わっていた。libxml2はインストールする必要がなかったのか。
Synapticパッケージマネージャからlibxslt-devをインストール
libxslt1-devというのがあったのでそれ。
インストール後再度bundleを実行
$ bundle installあぁ。進んでいる。
無事にインストールコマンドが終わった。長かった。
cucumber-railsでスケルトン作成
$ ruby script/rails generate cucumber:skeleton --rspec --capybara
またエラーが出たよ。。。
/home/k10i/.rvm/gems/ruby-1.9.2-p180@fwiffer/gems/sqlite3-1.3.3/lib/sqlite3.rb:6:in `require': libruby.so.1.9: cannot open shared object file: No such file or directory - /home/k10i/.rvm/gems/ruby-1.9.2-p180@fwiffer/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.so (LoadError)だって。1.9.2を最後にインストールしたオプションが変だったのかな。
試しにRspecで実験。
$ rake spec:models rake aborted! libruby.so.1.9: cannot open shared object file: No such file or directory - /home/k10i/.rvm/gems/ruby-1.9.2-p180@fwiffer/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.soやっぱり。Rubyをインストールしなおそう。
$ rvm remove 1.9.2 $ rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-libxml2-dir=$rvm_path/usrインストール後にrspecを動かす
$ rake spec:modelsうまくテストができた。
ようやくcucumber
$ ruby script/rails generate cucumber:skeleton --rspec --capybara Could not find generator cucumber:skeleton.だって。。。
Rails2の時みたいに設定してみる。
ruby script/rails generate cucumber ja --rspec --capybar Could not find generator cucumber.cucumberのgenerator自体がないみたい。
もう一度bundle installを実行してみて実行したけど駄目。
Could not find generator cucumber:skeleton.で検索
http://blog.notahat.com/posts/43
rails g cucumber:install --rspec --capybara
が必要っぽい。
日本語化しておきたいので、Rails2の時のようにjaをつける
$ rails g cucumber:install ja --rspec --capybaraうまくいった!
cucumberのテストはgithubのExampleをやってみる
$ ruby script/rails generate cucumber:feature post title:string body:text published:boolean $ ruby script/rails generate scaffold post title:string body:text published:boolean $ rake db:migrate $ rake cucumberおぉ。テストができた。
今日はlibxml2で思いのほか時間がかかってしまった。
次は、redmineの準備。nginxとPassengerでやってみようかな。
0 件のコメント:
コメントを投稿