Not possible to build ruby project with middleman - ruby

I am doing the following:
gonvaled#pegasus $ bundle exec 'middleman build --verbose'
...
== Finishing Request: pages/forms/forms.html (0.04s)
update build/pages/forms/forms.html
error build/javascripts/vendor/jquery.easy-pie-chart
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:142:in `exec_runtime'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:19:in `eval'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:33:in `call'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/coffee-script-2.2.0/lib/coffee_script.rb:57:in `compile'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/coffee.rb:46:in `evaluate'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/tilt-1.3.7/lib/tilt/template.rb:77:in `render'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sprockets-2.10.0/lib/sprockets/context.rb:197:in `block in evaluate'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sprockets-2.10.0/lib/sprockets/context.rb:194:in `each'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sprockets-2.10.0/lib/sprockets/context.rb:194:in `evaluate'
/home/gonvaled/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/sprockets-2.10.0/lib/sprockets/processed_asset.rb:12:in `initialize'
...
Lots of things are building properly, but some are failing like this one. I have no idea what is failing: ruby does not mention any specific problem with the input file: the jquery.easy-pie-chart.coffee seems ok.
What can I try to debug this? I am new to ruby and middleman.

You may need to install a javascript runtime, like therubyracer.

My system had an (spurious) executable called nodejs in the PATH, and it was preventing the real nodejs to run. No messages about this where provided, so it was really difficult to find.

Related

Error: `require': cannot load such file -- jemoji (LoadError)

I am using jekyll for the first time.
I downloaded the source code from here. When i run build and run the site using jekyll it runs well. Now I downloaded personal theme from here. After navigating to the downloaded themes folder and then building the new theme doesn't work. I get the following error :
Configuration file: /home/repos/sites/personal-jekyll-theme/_config.yml
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- jemoji (LoadError)
from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/lib/ruby/vendor_ruby/jekyll/plugin_manager.rb:28:in `block in require_gems'
from /usr/lib/ruby/vendor_ruby/jekyll/plugin_manager.rb:26:in `each'
from /usr/lib/ruby/vendor_ruby/jekyll/plugin_manager.rb:26:in `require_gems'
from /usr/lib/ruby/vendor_ruby/jekyll/plugin_manager.rb:19:in `conscientious_require'
from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:71:in `setup'
from /usr/lib/ruby/vendor_ruby/jekyll/site.rb:33:in `initialize'
from /usr/lib/ruby/vendor_ruby/jekyll/commands/build.rb:28:in `new'
from /usr/lib/ruby/vendor_ruby/jekyll/commands/build.rb:28:in `process'
from /usr/lib/ruby/vendor_ruby/jekyll/commands/build.rb:17:in `block (2 levels) in init_with_program'
from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in `call'
from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in `block in execute'
from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in `each'
from /usr/lib/ruby/vendor_ruby/mercenary/command.rb:220:in `execute'
from /usr/lib/ruby/vendor_ruby/mercenary/program.rb:42:in `go'
from /usr/lib/ruby/vendor_ruby/mercenary.rb:19:in `program'
from /usr/bin/jekyll:18:in `<main>'
Ruby Verison : ruby 2.1.5p273 (2014-11-13) [x86_64-linux-gnu]
Jekyll Version : jekyll 2.2.0
If possible please let me know where and what I am doing wrong. Is there some rule which states that I can locally build only one rule ? As far as I searched I tried changing the port number in config.yml and also tried building different sites with specifying their respective config files. jekyll still doesn't build and gives the same error. Thanks for your help in advance.
I also get the error which is jekyll-feed Load Error
The above issue was resolved following the instructions in readme file and running ./scripts/install.
Thanks #Jordan for your help.

Combination of jekyll-redirect-from and github-metadata gems throwing errors

I am working on a Jekyll site which uses jekyll-redirect-from to redirect old page URLs to their newer equivalents. It builds fine normally, but when I add the GitHub-metadata gem to my gemfile as well and attempt to build my site, I get a fairly unhelpful message:
> bundle exec jekyll build --trace
Configuration file: <site folder>/_config.yml
Source: <site folder>
Destination: <site folder>/_site
Generating...
d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:67:in `join': no implicit conversion of Jekyll::GitHubMetadata::Value into String (TypeError)
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:67:in `redirect_url'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:19:in `block (2 levels) in generate_alt_urls'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:15:in `each'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:15:in `block in generate_alt_urls'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:13:in `each'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:13:in `generate_alt_urls'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-redirect-from-0.8.0/lib/jekyll-redirect-from/redirector.rb:8:in `generate'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/site.rb:251:in `block in generate'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/site.rb:250:in `each'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/site.rb:250:in `generate'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/site.rb:45:in `process'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/command.rb:28:in `process_site'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:55:in `build'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:33:in `process'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:17:in `block (2 levels) in init_with_program'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
from d:/tools/Ruby21-x64/lib/ruby/gems/2.1.0/gems/jekyll-2.4.0/bin/jekyll:18:in `<top (required)>'
from d:/tools/Ruby21-x64/bin/jekyll:23:in `load'
from d:/tools/Ruby21-x64/bin/jekyll:23:in `<main>'
The important part is the no implicit conversion of Jekyll::GitHubMetadata::Value into String (TypeError) section. It seems that somewhere the metadata gem is putting a custom object where the redirect gem expects there to be a string, and as a result it explodes.
If I remove all instances of anything referencing site.github.*, the error still occurs. But if I remove all redirect_froms, the error goes away and it builds successfully. I don't know enough about Ruby or either of these gems to do much troubleshooting past that. It looks like the culprit is this line of redirector.rb in the Jekyll-redirect-from gem.
I have a repro site (very loose definition of "site") at WasabiFan/curly-parakeet. It throws the above error on both Windows and a fresh Ubuntu VM.
What might the problem be? Is there something that must be fixed in one of these gems?
P.S. As a result of this question, I have found a use for GitHub's suggested repo names. Thank you.
I submitted a bug report and they confirmed that this was a bug. I got it fixed in a PR.

Error When running RSpec in Ruby App Created through IRB

I'm working on an exercise that gets me started on Test Driven Development Using RSpec
I've been following the instructions and I've created a file repository on GitHub, and performed gem install rspec. However, when I try to run commands to test RSpec is functioning it throws this massive error at me and I haven't been able to find out why. I'm somewhat used to using Ruby on Rails, but this is my first application outside the rails framework.
Here's the error:
/Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `load': cannot load such file -- /Users/jrshafer/bloc/code/address-bloc/specs/entry_spaces.rb (LoadError) from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `each' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1224:in `load_spec_files' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:97:in `setup' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85:in `run' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:70:in `run' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:38:in `invoke' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/gems/rspec-core-3.2.3/exe/rspec:4:in `<top (required)>' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `load' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/bin/rspec:23:in `<main>' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval' from /Users/jrshafer/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
I'm usually pretty good at finding fixes for any kind of error during development but this one has me stuck. I'd appreciate any help you could give.
So, after staring at it for a while and comparing it to an example I realized I missed a case sensitive Entry in the RSpec.describe. Noob mistake.

RubyMotion and CocoaPods problems

I'm various issues getting CocoaPods dependencies to work in RubyMotion. Firstly, if I add dependency 'JSONKit' to my Rakefile and then run rake it get's aborted with a can't convert Pathname into String error. rake --trace then produces the following output:
** Invoke default (first_time)
** Invoke simulator (first_time)
** Invoke build:simulator (first_time)
** Execute build:simulator
/usr/bin/gen_bridge_metadata --format complete --no-64-bit --cflags "-I. -I." JSONKit.h -o "JSONKit.bridgesupport"
invalid option: --no-64-bit
Usage: gen_bridge_metadata [options] <headers...>
Use the `-h' flag or consult gen_bridge_metadata(1) for help.
rake aborted!
Command failed with status (1): [/usr/bin/gen_bridge_metadata --format comp...]
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:53:in `block in create_shell_runner'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:45:in `call'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils.rb:45:in `sh'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/file_utils_ext.rb:39:in `sh'
/Library/RubyMotion/lib/motion/project/vendor.rb:93:in `block in build_static'
/Library/RubyMotion/lib/motion/project/vendor.rb:34:in `chdir'
/Library/RubyMotion/lib/motion/project/vendor.rb:34:in `build_static'
/Library/RubyMotion/lib/motion/project/vendor.rb:23:in `build'
/Library/RubyMotion/lib/motion/project/builder.rb:37:in `block in build'
/Library/RubyMotion/lib/motion/project/builder.rb:36:in `each'
/Library/RubyMotion/lib/motion/project/builder.rb:36:in `build'
/Library/RubyMotion/lib/motion/project/app.rb:50:in `build'
/Library/RubyMotion/lib/motion/project.rb:33:in `block (2 levels) in <top (required)>'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:205:in `call'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:200:in `each'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:200:in `execute'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in `each'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in `each'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/task.rb:144:in `invoke'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in `each'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:88:in `top_level'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:66:in `block in run'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/Users/xxxx/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:63:in `run'
/Users/xxxx/.rbenv/versions/1.9.3-p194/bin/rake:32:in `<main>'
Tasks: TOP => default => simulator => build:simulator
The vendor directory in the project contains various JSONKit files.
Secondly, in another RubyMotion app, if I add dependency 'Nimbus' to my Rakefile and then run rake the app builds but errors out with uninitialized constant errors when I try to use anything Nimbus-related in my code and no vendor directory is created.
What is the problem in these two instances?
There are a couple issues at play here.
can't convert Pathname into String
Update: As of 5/7/12, you can just sudo motion update and this will be fixed
This error has to do with the fact that you're using Ruby 1.9. Though I don't see it explicitly stated in the documentation, the fact that the examples of setting this up refer to using sudo in the gem install commands means it's assumed you're running OS X's built-in ruby (1.8.7). If you switch your project to system ruby (add a .rbenv-version file with system in it). Alternatively, if you want to stick with 1.9, you can change line 22 of /Library/RubyMotion/lib/motion/project/vendor.rb to read:
App.info 'Build', #path.to_s
Once doing this, there's a good chance you'll then get an error like this:
ERROR! Building vendor project `./vendor/JSONKit' failed to create at least one `.a' library.`
You'll need to edit line 77 of that same file to read:
objs = Dir.glob('**/*.o') # Removed the leading "*/"
Then rake should finally work properly.
An issue has been filed on the motion-cocoapods repo regarding these issues: https://github.com/HipByte/motion-cocoapods/issues/1
Additionally, I just filed an official support ticket for this using motion support. (Remember, you paid money for this brand new product which includes support; use it!)
Nimbus
The problem here is that you're requiring the top-level cocoapod. Since it has "subspecs", you need to require those directly, so maybe dependency 'Nimbus/Core' instead. You can see a full list of them here (see the s.subspec entries)
The compilation error about the --no-64-bit flag is because of a but on RubyMotion on Snow Leopard. update /Library/RubyMotion/lib/motion/project/vendor.rb per https://gist.github.com/2597428
The bug has been confirmed by Laurent Sansonetti:
Hi,
Thanks for the report! The problem is that the --no-64-bit flag was
added in Lion and you appear to be running Snow Leopard. We will get
this fixed.
Laurent

How do I suppress the huge stack trace after a rake TestTask failure?

I'm setting up a rakefile for a project, and I've defined some rake TestTasks. I ran a simple sanity test that does an assert_equal(1, 2) just to check the output, and, in addition to the usual failure output, I get this mess:
rake aborted!
Command failed with status (1): [/usr/bin/ruby -w -I"lib:." "/usr/lib/ruby/...]
/usr/lib/ruby/1.9.1/rake.rb:993:in `block in sh'
/usr/lib/ruby/1.9.1/rake.rb:1008:in `call'
/usr/lib/ruby/1.9.1/rake.rb:1008:in `sh'
/usr/lib/ruby/1.9.1/rake.rb:1092:in `sh'
/usr/lib/ruby/1.9.1/rake.rb:1027:in `ruby'
/usr/lib/ruby/1.9.1/rake.rb:1092:in `ruby'
/usr/lib/ruby/1.9.1/rake/testtask.rb:115:in `block (2 levels) in define'
/usr/lib/ruby/1.9.1/rake.rb:1110:in `verbose'
/usr/lib/ruby/1.9.1/rake/testtask.rb:100:in `block in define'
/usr/lib/ruby/1.9.1/rake.rb:634:in `call'
/usr/lib/ruby/1.9.1/rake.rb:634:in `block in execute'
/usr/lib/ruby/1.9.1/rake.rb:629:in `each'
/usr/lib/ruby/1.9.1/rake.rb:629:in `execute'
/usr/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites'
/usr/lib/ruby/1.9.1/rake.rb:602:in `each'
/usr/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites'
/usr/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/usr/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain'
/usr/lib/ruby/1.9.1/rake.rb:581:in `invoke'
/usr/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `each'
/usr/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level'
/usr/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/lib/ruby/1.9.1/rake.rb:2013:in `top_level'
/usr/lib/ruby/1.9.1/rake.rb:1992:in `run'
/usr/bin/rake:31:in `<main>'
How do I get rid of it? I don't want to have to scroll up past 20 lines of junk to see my test failures.
I had the same problem as you and solved it by updating rake: gem install rake
This updated from whatever I had to 0.8.7.
I'm running 1.9.2-p180 (OS X, installed with Homebrew) and was running tests on a newly created project (made with Hoe).
Rake shouldn't be returning a backtrace in this situation -- the error is with the external command, not rake's internals. I've sent a email to Jim Weirich regarding the following patch: https://gist.github.com/1003628
Rake normally does not show a backtrace unless you specify --trace. Perhaps you have configured Rake to always run in --trace mode?
By default, rake does not print out the stack trace if you get an error in the code that rake calls. You can get the stack trace by running with the --trace flag, but usually I'd just rather see it anyway. You can do that by putting Rake.application.options.trace = true into the rakefile.
If not, you might try setting Rake.application.options.trace = false in your Rakefile.
I still had unwanted stack traces in rake 0.8.7, updating to 0.9.2 finally helped for me (ruby 1.9.2p180 [i386-mingw32] on Win7 32bit).
Look in config/initializers/backtrace_silencers.rb
You should be able to add something like
Rails.backtrace_cleaner.add_silencer { |line| line =~ %r{/usr/lib/ruby/1.9.1/rake.rb} }

Resources