rails / execjs

Run JavaScript code from Ruby
MIT License
538 stars 282 forks source link

Deprecation error using Ruby 2.7 #91

Closed ecentell-CPF closed 3 years ago

ecentell-CPF commented 4 years ago

While using Ruby 2.7 and the most recent commit f6dc08c58ab4e1a467f64d471ee6e0127c2f14de the following error is logged:

c:/Ruby27-x64/lib/ruby/gems/2.7.0/bundler/gems/execjs-f6dc08c58ab4/lib/execjs/external_runtime.rb:176: warning: Using the last argument as keyword parameters is deprecated

meirroth commented 4 years ago

Having the same issue using 2.7.0

C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:176: warning: Using the last argument as keyword parameters is deprecated

Running Jekyll 4.1.1 Windows 10

ecentell-CPF commented 4 years ago

Hello, are any devs monitoring this project? Please advise!

ecentell-CPF commented 4 years ago

Including the last two PR merge users @guilleiguaran @rafaelfranca as I'm not sure who may or may not be receiving these notifications.

ecentell-CPF commented 4 years ago

2 months...anyone? @josh @jeremy @judofyr

judofyr commented 4 years ago

In 2.7.2 there are no longer any deprecation warnings shown by default: https://www.ruby-lang.org/en/news/2020/10/02/ruby-2-7-2-released/.

We should probably make sure that ExecJS is ready for Ruby 3.0 as well.

stevecheckoway commented 3 years ago

Execjs no longer works on Windows using Ruby 3.0. I'm not sure why File.popen is okay, but the File.open on that line raises a type error.

     TypeError:
       no implicit conversion of Hash into Integer
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:176:in `initialize'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:176:in `open'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:176:in `exec_runtime'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:39:in `exec'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:14:in `initialize'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/runtime.rb:57:in `new'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/runtime.rb:57:in `compile'
     # ./vendor/bundle/ruby/3.0.0/gems/execjs-2.7.0/lib/execjs/module.rb:27:in `compile'

Looks like https://github.com/rails/execjs/pull/95 would fix the issue.

ecentell-CPF commented 3 years ago

Can any dev check in and confirm?

ecentell-CPF commented 3 years ago

Trying to get some traction on getting this commit tested/merged. Any 5+ contributors able to help in this instance?
@josh @sstephenson @rafaelfranca @stereobooster @judofyr @tricknotes

judofyr commented 3 years ago

Unfortunately I don't have commit access to this repo so I can't help :(

boovius commented 3 years ago

Running Jekyll. Seeing this wonderful error:

.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:41:in `exec'
/Users/joshuabook/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:41:in `unlink': Interrupted system call @ apply2files - /var/folders/bh/wm_t_rvj2fjgqd46sjc47jyc0000gn/T/execjs20210409-40132-ibaq5gjs (Errno::EINTR)

Would love any tips on this.

stevecheckoway commented 3 years ago

Running Jekyll. Seeing this wonderful error:

.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:41:in `exec'
/Users/joshuabook/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/execjs-2.7.0/lib/execjs/external_runtime.rb:41:in `unlink': Interrupted system call @ apply2files - /var/folders/bh/wm_t_rvj2fjgqd46sjc47jyc0000gn/T/execjs20210409-40132-ibaq5gjs (Errno::EINTR)

Would love any tips on this.

I don’t think that that is related to this issue. That error message indicates that the unlink system call was interrupted by a signal. I’ve never seen unlink be interrupted by a signal before. I didn’t even think it could be! You should probably file a separate issue, but be warned, this project seems unmaintained.

ecentell-CPF commented 3 years ago

Will an updated version get put to RubyGems soon?