Ruby on Rails
From Tmplab
Contents
Fast commands
- Help yourself, use BORT for application baseline
Schema
ruby script/generate scaffold Project name:string description:text
Troubleshooting
Gems
gem install <gemname>
if it breaks, try to do:
gem install
if it still breaks, try to do:
irb require 'rubygems' gem 'myproblemgem', '1.0.0'
then look at the problem.
Example
for example this session shows that the "echoe" gem is not installed. When running script/server:
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' script/server:3 Missing these required gems: capistrano-ext = 1.2.1 You're running: ruby 1.8.7.22 at /usr/local/bin/ruby rubygems 1.2.0 at /usr/local/lib/ruby/gems/1.8 Run `rake gems:install` to install the missing gems.
well... indeed Captistrano-ext IS installed:
$ ls -ald /usr/local/lib/ruby/gems/1.8/gems/cap* drwxr-xr-x 12 root wheel 408 Jan 20 12:11 /usr/local/lib/ruby/gems/1.8/gems/capistrano-2.5.3 drwxr-xr-x 9 root wheel 306 Jan 20 13:00 /usr/local/lib/ruby/gems/1.8/gems/capistrano-ext-1.2.1
but running the code with irb gives more details:
$ irb >> require 'rubygems' => false >> gem 'capistrano-ext', '1.2.1' Gem::LoadError: Could not find RubyGem echoe (>= 0) from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:578:in `report_activate_error' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:134:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:158:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `each' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:158:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `each' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:158:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `each' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:157:in `activate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:49:in `gem' from (irb):2
So a simple:
# gem install echoe Successfully installed echoe-3.0.2 1 gem installed Installing ri documentation for echoe-3.0.2... Installing RDoc documentation for echoe-3.0.2...
fixed the problem... well... you get the idea: there's a broken dependency in captistrano-ext for echoe....
Running
Debugging
- Look in log/development.log
- Install http://hoptoadapp.com/ or http://getexceptional.com/
script/server
Usually with:
ruby script/server
You can do a simple command to install mongrel instead:
gem install mongrel
To install.... then check http://mongrel.rubyforge.org/