2013年9月8日日曜日

Rspec + Capybara でNoMethodError

実行するとこんなエラーがでる。

NoMethodError:
       undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x00000004522160>

spec/spec_helper.rb
に以下を追記するとうまくいった.

config.include Capybara::DSL

そのままだけど、
capybaraのDSLをincludeする必要があるらしい。

※DSL = Domain Specific Language(ドメイン固有言語)

Ruby on Rails その2

rails consoleコマンドが動かない。。

#rails console
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'

どうやら、readlineライブラリ見つからないらしい。。。
rubyに標準で含まれるライブラリっぽいので、rubyを再インストールしてみる。

#rbenv install 1.9.3-p448

だめだった。。。


Gemfileに以下を追加して、
gem 'rb-readline'

#bundle install

すると、
Installing rb-readline (0.5.0)
おっ、インストールされたっぽい。

#rails console

Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'


ぐぐったら、rubyインストール時に、redline-develがないとだめらしい。

#yum install readline-devel.x86_64

i686(32bit)とx86_64(64bit)用がある

一度アンインストールしてから、再インストールしてみる。
#gem uninstall rb-readline
#bundle install

Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
同じでした。。。

#gem uninstall rb-readline
してから、rubyを再々インストール
#rbenv install 1.9.3-p448

うまくいった!


2013年9月1日日曜日

centos6.4にRuby on Rails をインストール

複数バージョンのrubyを扱えるrbenvを使ってみる。


以下のサイトを参考にインストール

http://www.oiax.jp/rails/zakkan/rails_3_2_installation_on_ubuntu.html
http://tsuchikazu.net/linux_ruby_on_rails_install/

必要なパッケージは、とりあえずg++のみインストール
yum install gcc-c++

g++はc,c++のコンパイラらしい

rubyで開発するにあたって、
  • rbenv ・・・rubyのバージョンを管理する
  • bundler ・・・gemをプロジェクトごとに管理する(gemを管理するけど、gemコマンドでインストールする)
は必要なものらしい。。。

railsには、SQLiteが必要らしい。
SQLite自体はすでに入っていたので、develをインストール
yum install sqlite-devel

develファイルは、開発に必要なライブラリオブジェクトやヘッダファイル(lib***.soや***.h)が含まれているもの。コンパイルに必要らしい

ruby on railsの参考サイト