metaskills / less-rails

:-1: :train: Less.js For Rails
http://github.com/metaskills/less-rails
MIT License
340 stars 133 forks source link

less-rails doesn't load with Ruby 2.4.0 #133

Closed qingchengnus closed 4 years ago

qingchengnus commented 7 years ago

I'm getting following error when deploy Rails application with Ruby 2.4.0

Bundler::GemRequireError: There was an error while trying to load the gem 'less-rails'. Gem Load Error is: wrong argument type Class (expected Module). It seems to be caused by the unification of Fixnum and Bignum into Integer in Ruby 2.4.0.

metaskills commented 7 years ago

Is there anything that we can change? Took a quick look at the gemspec and did not see anything that stood out? Maybe a stack trace would help?

radekosmulski commented 7 years ago

stack trace:

em Load Error is: wrong argument type Class (expected Module) Backtrace for gem load error is: /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:ininclude' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:in block (2 levels) in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:inclass_eval' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:in block in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:ineach' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8.rb:22:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8.rb:22:in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script/v8_context.rb:2:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script/v8_context.rb:2:in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:9:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:9:in default_context_wrapper' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:17:incontext_wrapper' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/loader.rb:13:in initialize' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:14:innew' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:14:in <module:Less>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:9:in<top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:inblock (2 levels) in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in each' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:inblock in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in each' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler.rb:107:in require' /home/radek/workspace/radar-information-center/config/application.rb:11:in<top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:inblock in server' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:in tap' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:inserver' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:in run_command!' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in<top (required)>' script/rails:6:in require' script/rails:6:in

' Bundler Error Backtrace: from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:90:in block (2 levels) in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:ineach' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in block in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:ineach' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler.rb:107:inrequire' from /home/radek/workspace/radar-information-center/config/application.rb:11:in <top (required)>' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:inrequire' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:in block in server' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:intap' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:in server' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:inrun_command!' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in <top (required)>' from script/rails:6:inrequire' from script/rails:6:in <main>'

radekosmulski commented 7 years ago

It seems the stack trace didn't copy properly. Here it is again.

/home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21: warning: constant ::Fixnum is deprecated /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:94:inrescue in block (2 levels) in require': There was an error while trying to load the gem 'less'. (Bundler::GemRequireError) Gem Load Error is: wrong argument type Class (expected Module) Backtrace for gem load error is: /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:in include' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:23:inblock (2 levels) in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:in class_eval' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:22:inblock in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:in each' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8/conversion.rb:21:in<top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8.rb:22:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/therubyracer-0.12.2/lib/v8.rb:22:in<top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script/v8_context.rb:2:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script/v8_context.rb:2:in<top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:9:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:9:indefault_context_wrapper' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/java_script.rb:17:in context_wrapper' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less/loader.rb:13:ininitialize' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:14:in new' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:14:in' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/less-2.6.0/lib/less.rb:9:in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:91:in block (2 levels) in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:ineach' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in block in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:ineach' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in require' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler.rb:107:inrequire' /home/radek/workspace/radar-information-center/config/application.rb:11:in <top (required)>' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:inrequire' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:in block in server' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:intap' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:in server' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:inrun_command!' /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in <top (required)>' script/rails:6:inrequire' script/rails:6:in <main>' Bundler Error Backtrace: from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:90:inblock (2 levels) in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:in each' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:86:inblock in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:in each' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler/runtime.rb:75:inrequire' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-1.14.5/lib/bundler.rb:107:in require' from /home/radek/workspace/radar-information-center/config/application.rb:11:in<top (required)>' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:in require' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:78:inblock in server' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:in tap' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:75:inserver' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands/commands_tasks.rb:39:in run_command!' from /home/radek/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/railties-4.2.8/lib/rails/commands.rb:17:in<top (required)>' from script/rails:6:in require' from script/rails:6:in

' `

radekosmulski commented 7 years ago

Looks like it is an issue with the less gem and not less-rails...

radekosmulski commented 7 years ago

The issue is actually with therubyracergem, upgrading to 0.12.3 solved it for me.

brendon commented 7 years ago

@qingchengnus, does @radekosmulski's solution of upgrading the therubyracer gem fix your problem. If so, you should close this issue :)