Hi, I wanted to try MiniProfiler for Rails as I think it looks great.
I’m using ruby enterprise edition 1.8.7 with rvm and rails 3.0.9
I included in my gem file:
gem "rack-mini-profiler"
then I did:
=>:$ bundle install
then I did:
=>:$ rails server
and I got:
/Users/nemesis/.rvm/gems/ree-1.8.7-2012.02@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:74:in `require': no such file to load -- rack/mini/profiler (LoadError)
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:74:in `require'
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `each'
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in `require'
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02@global/gems/bundler-1.1.4/lib/bundler.rb:119:in `require'
from /Users/nemesis/openwisp/geomonitoring/config/application.rb:7
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02/gems/railties-3.0.9/lib/rails/commands.rb:28:in `require'
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02/gems/railties-3.0.9/lib/rails/commands.rb:28
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02/gems/railties-3.0.9/lib/rails/commands.rb:27:in `tap'
from /Users/nemesis/.rvm/gems/ree-1.8.7-2012.02/gems/railties-3.0.9/lib/rails/commands.rb:27
from script/rails:6:in `require'
from script/rails:6
Had the exact same problem a while ago; Ruby 1.9.3, Rails 3.2.6. Finally figured it out – when I was running “sudo bundle install”, for some weird reason, bundler was installing rack-mini-profiler in my gems directory with owner root, group root, mode 0660 on all the regular files. Hence, rack_mini_profiler.rb was unreadable, and bundler would silently fail when trying to load it.
(Let’s leave aside the whole “silently failing” issue for the moment – god, what a pain…)
Now, let’s not close this bug just yet – this is the only gem that I’ve ever had installed with bogus permissions, and it happens reliably, even after "gem uninstall"ing all versions of rack-mini-profiler and letting bundler install a fresh one. Any ideas why?
Starting with the gem for 0.13.pre, the permissions are wrong in the tarball inside the gem itself. I did this by installing all the released versions on rubygems into a local directory and running ls -l on them. Annoyingly manual, but it’s done now…
Whoever is packaging the gems has bad ownership flags set on their checkout and it is propagating to the released gems.
Sam, did something happen to your computer around the end of August (based on release dates)?
chmod -R +r Ruby/ in the checkout before releasing the next version should fix it, I think.
This would never show up for RVM users, since the gem would be owned by the user. Also, production environments using bundler, because the gems are installed locally.
UPDATE Running sudo chmod -R +r /var/lib/gems/1.9.1/gems/rack-mini-profiler-0.1.21/ after installing made the error go away.
I was running into the migration error:
no file found for …/tmp/miniprofiler
After digging a bit, I came across this thread. The patch to fix this error has not been merged. A quick fix is simply to create the directory in your app folder …/tmp/miniprofiler
After doing so, my migrations ran without incident.
Thanks again for this great tool – It has done wonders to help optimize my app!