I am following the presentation of the RubyConf workshop detailed here: https://github.com/AndyObtiva/how-to-build-desktop-applications-in-ruby and am already stuck at the second command. I issued gem install glimmer-dsl-libui
which ran successfully and installed glimmer (2.7.6) and glimmer-dsl-libui (0.11.8), but the command glimmer examples
gives me the following exception:
Traceback (most recent call last):
27: from /Users/marion/.rvm/gems/ruby-2.7.6/bin/glimmer:23:in `<main>'
26: from /Users/marion/.rvm/gems/ruby-2.7.6/bin/glimmer:23:in `load'
25: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/bin/glimmer:24:in `<top (required)>'
24: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/bin/glimmer:24:in `require_relative'
23: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer-dsl-libui.rb:39:in `<top (required)>'
22: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
21: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
20: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/dsl/libui/dsl.rb:23:in `<top (required)>'
19: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/dsl/libui/dsl.rb:23:in `each'
18: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/dsl/libui/dsl.rb:23:in `block in <top (required)>'
17: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
16: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
15: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/dsl/libui/tab_item_expression.rb:23:in `<top (required)>'
14: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
13: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
12: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/tab_item_proxy.rb:22:in `<top (required)>'
11: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
10: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
9: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy.rb:425:in `<top (required)>'
8: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy.rb:425:in `each'
7: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy.rb:425:in `block in <top (required)>'
6: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
5: from /Users/marion/.rvm/rubies/ruby-2.7.6/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:83:in `require'
4: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/text_proxy.rb:27:in `<top (required)>'
3: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/text_proxy.rb:28:in `<module:Glimmer>'
2: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/text_proxy.rb:29:in `<module:LibUI>'
1: from /Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/text_proxy.rb:33:in `<class:ControlProxy>'
/Users/marion/.rvm/gems/ruby-2.7.6/gems/glimmer-dsl-libui-0.11.8/lib/glimmer/libui/control_proxy/text_proxy.rb:35:in `<class:TextProxy>': uninitialized constant Glimmer::LibUI::ControlProxy::TextProxy::PerfectShaped (NameError)
What has gone wrong?
Note that Glimmer description state
Install glimmer-dsl-libui gem directly into a maintained Ruby version:
I got the problem with ruby 2.6.1 but it work well on ruby 3.3.0 with just:
gem install glimmer-dsl-libui
So, you may have to try with ruby 3.x