Adding to gemfile failed and hence I tried gem install rabl. It fails with the following error message, looks like its OS specific... I'm on Windows 7 and using Ruby 2.2 on Rails 5 api
G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:in `symlink': symlink() function is unimplemented on this machine (NotImplementedError)
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:388:in `block (2 levels) in extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/tar_reader.rb:65:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:365:in `block in extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:459:in `block in open_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:456:in `wrap'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:456:in `open_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:364:in `extract_tar_gz'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:345:in `block (2 levels) in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/tar_reader.rb:65:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:342:in `block in extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/file_source.rb:30:in `open'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package/file_source.rb:30:in `with_read_io'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/package.rb:339:in `extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/installer.rb:772:in `extract_files'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/installer.rb:302:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/resolver/specification.rb:97:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:166:in `block in install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:156:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/request_set.rb:156:in `install'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:205:in `install_gem'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:255:in `block in install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:251:in `each'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:251:in `install_gems'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/commands/install_command.rb:158:in `execute'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command.rb:310:in `invoke_with_build_args'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command_manager.rb:169:in `process_args'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/command_manager.rb:139:in `run'
from G:/Ruby/ruby/lib/ruby/site_ruby/2.2.0/rubygems/gem_runner.rb:55:in `run'
from G:/Ruby/ruby/bin/gem:21:in `<main>'
Edit: After lots of googling, found this here
Attempting to use the deploy resource on Windows fails with:
symlink() function is unimplemented on this machine (NotImplementedError)
This is because Ruby's underlying File.symlink() method does not support Windows.
In the short-term this should be mentioned in the docs. Longer term I think this could be fixed in the same way that the "link" directive works. This method may not work for soft links due to limitations with NTFS.
So, it is definitely Windows specific, but wondering why there's no other post or link explaining that its incompatible with Windows. Isn't this fixable in Windows?
This is controversial, but some say symlinking has been implemented on Ruby 2.3. I would try installing it first.
Related
My development environment relies on vagrant and virtual box. Everything used to work until a few days ago. Since then, every time I try to run vagrant up, I'm getting this error message.
I don't really know what to do about it. Any advice?
C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/dsl.rb:90:in `method_missing': undefined method `run_remote=' for #<VagrantPlugins::Triggers::DSL:0x00000000049cb5b8> (NoMethodError)
from D:/Projects/D3TzH/D3TzH-environment/Vagrantfile:41:in `block (2 levels) in <top (required)>'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/dsl.rb:11:in `instance_eval'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/dsl.rb:11:in `fire!'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/action/trigger.rb:52:in `block in fire_triggers'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/action/trigger.rb:51:in `each'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/action/trigger.rb:51:in `fire_triggers'
from C:/Users/D3TzH/.vagrant.d/gems/2.4.4/gems/vagrant-triggers-0.5.3/lib/vagrant-triggers/action/trigger.rb:18:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/warden.rb:50:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/builtin/before_trigger.rb:23:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/warden.rb:50:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/builder.rb:116:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/runner.rb:102:in `block in run'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/util/busy.rb:19:in `busy'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/action/runner.rb:102:in `run'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/machine.rb:238:in `action_raw'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/machine.rb:209:in `block in action'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/environment.rb:615:in `lock'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/machine.rb:195:in `call'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/machine.rb:195:in `action'
from C:/HashiCorp/Vagrant/embedded/gems/2.2.4/gems/vagrant-2.2.4/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
With the release of Vagrant 2.1.0, the functionality of the vagrant-triggers plugin was incorporated into the core Vagrant product. As noted in the Vagrant 2.1.0 announcement, the plugin is now incompatible with versions of Vagrant >= 2.1.0:
This work was heavily inspired by the fantastic community plugin vagrant-triggers by #emyl. It is a complete rewrite of the plugin, so the two are not compatible.
Given that situation, the error is most likely fixed by uninstalling the third party vagrant-triggers plugin.
I've been following getting started of openshift, but I am stuck at this error.
OpenShift Client Tools (RHC) Setup Wizard
This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git
are properly installed.
If you have your own OpenShift server, you can specify it now. Just hit enter to use the server for OpenShift Online:
openshift.redhat.com.
Enter the server hostname: |openshift.redhat.com| C:/Ruby193/lib/ruby/gems/1.9.1/gems/highline-1.6.21/lib/highline.rb:86
4:in `gets': Invalid argument - <STDIN> (Errno::EINVAL)
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/highline-1.6.21/lib/highline.rb:864:in `get_line'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/highline-1.6.21/lib/highline.rb:885:in `get_response'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/highline-1.6.21/lib/highline.rb:260:in `ask'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/highline_extensions.rb:12:in `block (2 levels) in <c
lass:HighLineExtension>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/wizard.rb:188:in `block in server_stage'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/highline_extensions.rb:190:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/highline_extensions.rb:190:in `section'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/highline_extensions.rb:204:in `paragraph'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/helpers.rb:339:in `block (2 levels) in <module:Helpe
rs>'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/wizard.rb:185:in `server_stage'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/wizard.rb:67:in `block in run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/wizard.rb:65:in `each'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/wizard.rb:65:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands/setup.rb:57:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands.rb:294:in `execute'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/commands.rb:285:in `block (3 levels) in to_commander
'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:180:in `call'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/command.rb:155:in `run'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/runner.rb:421:in `run_active_command'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/command_runner.rb:72:in `run!'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/commander-4.2.1/lib/commander/delegates.rb:12:in `run!'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/lib/rhc/cli.rb:37:in `start'
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rhc-1.38.4/bin/rhc:20:in `<top (required)>'
from C:/Ruby193/bin/rhc:23:in `load'
from C:/Ruby193/bin/rhc:23:in `<main>'
I tried reinstalling ruby (and rhc gem) to older version (1.93) as found in a different question. It probably isn't what has been causing my error. I tried using defauld windows commandline and PowerShell 5.0 with the same result.
I am expecting a promp for server hostname, but this stacktrace happens right after entering 'rhc setup'.
I tried everything nothing worked except this which says "change the CMD window properties. Simply select the 'Use Legacy console'" and It really worked
Ruby 2.0 64bit worked for some reason
previously the error was evoked by anything with
raw_answer = #input.gets
I (and people I've asked) have to classify this as 'Windows Magic'. Windows are such a good development enviroment.
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.
I was tasked with upgrading the ruby installation on a machine the other day. I installed from source (typically ./configure, make, make install) and updated all gems. Currently, the site won't load with a Ruby Rack error, which I have no idea how to solve:
[ pid=21855 thr=104368260 file=utils.rb:176 time=2013-02-19 11:33:32.952 ]: *** Exception PhusionPassenger::UnknownError in PhusionPassenger::Rack::ApplicationSpawner (undefined method `<<' for nil:NilClass (NoMethodError)) (process 21855, thread #<Thread:0x0000000c711108>):
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-flash-0.1.2/lib/rack/flash.rb:20:in `run'
from config.ru:7:in `block in <main>'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
from /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize'
from config.ru:1:in `new'
from config.ru:1:in `<main>'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/rack/application_spawner.rb:225:in `eval'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/rack/application_spawner.rb:225:in `load_rack_app'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/rack/application_spawner.rb:157:in `block in initialize_server'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/utils.rb:563:in `report_app_init_status'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/rack/application_spawner.rb:154:in `initialize_server'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server.rb:180:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/rack/application_spawner.rb:129:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/spawn_manager.rb:253:in `block (2 levels) in spawn_rack_application'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/spawn_manager.rb:246:in `block in spawn_rack_application'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server_collection.rb:82:in `block in synchronize'
from <internal:prelude>:10:in `synchronize'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/spawn_manager.rb:244:in `spawn_rack_application'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/spawn_manager.rb:137:in `spawn_application'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
from /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/helper-scripts/passenger-spawn-server:99:in `<main>'
Have any of you seen this type of error before? Any thoughts on how to solve it?
I found my issue. When looking at the error, I noticed that the first module in the trace is rack-flash. Turns out that the new verison of it is incompatible with sinatra which this app is also using. I commented out the flash related code and the app runs.
Now I just need to figure out the proper way to port the flash related code to sinatra-flash and I think I'm good to go.
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