welaika / wordmove

Multi-stage command line deploy/mirroring and task runner for Wordpress
https://wptools.it/wordmove
MIT License
1.87k stars 167 forks source link

Not compatible with Ruby 2.4.0 #363

Closed morrislaptop closed 7 years ago

morrislaptop commented 7 years ago

wordmove pull -e xxxxxx.com -d

/Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Fixnum is deprecated
/Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
/Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>': stack level too deep (SystemStackError)
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in `block (2 levels) in <class:Numeric>'
     ... 5513 levels...
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/bin/wordmove:22:in `load'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/bin/wordmove:22:in `<main>'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/bin/ruby_executable_hooks:15:in `eval'
    from /Users/craigmorris/.rvm/gems/ruby-2.4.0@esme-com/bin/ruby_executable_hooks:15:in `<main>'
alessandro-fazzi commented 7 years ago

Thank you @morrislaptop . I'm still on 2.3.x, but we absolutely have to check and fix this one

maiorano84 commented 7 years ago

Yep, ran into this one too. Downgrading to Ruby 2.3.3 corrected the issue for me.

Though, I would imagine more adept Ruby users would want to stick with 2.4 if they're already on it.

justin-peacock commented 7 years ago

Having the same issue when trying to use this on latest vvv.

alessandro-fazzi commented 7 years ago

We have this one confirmed internally also. Scheduling an investigation and an update

aluxh commented 7 years ago

Meanwhile, can you share how can we downgrade ruby to 2.3.3? Somehow, I don't have the rights to do that.

maiorano84 commented 7 years ago

@aluxh If you're on OSX or any *nix OS, you can use RVM rbenv to do that.

Once you have RVM rbenv installed, you can run:

rbenv install 2.3.3 rbenv global 2.3.3

You should be able to then run ruby -v and see something similar to the following:

ruby 2.3.3p222 (2016-11-21 revision 56859)

If you're on Windows, then it's likely you're already running 2.3.3 or earlier (unless you compiled from source, in which case downgrading is probably well within your capabilities). RVM rbenv is currently not available for Windows without some serious workarounds.

If you don't have the appropriate privileges to run the commands needed to get RVM onto your system, then you need to consult with your network supervisor.

alessandro-fazzi commented 7 years ago

@maiorano84 thanks for your reply; I only think you are mixing RVM and rbenv together, isn't it?

maiorano84 commented 7 years ago

@pioneerskies I..... don't even know what I'm doing anymore. Yep, I definitely mixed the two up. Herp derp.

aluxh commented 7 years ago

@maiorano84 @pioneerskies Thanks both! But, I don't think I can do the RVM thing because it keeps saying I don't have the permission to write files. I'll wait for the fixes.

Thanks!

lindsaymarkward commented 7 years ago

Hi. I have the same problem, installing wordmove in the current version of VVV (https://github.com/Varying-Vagrant-Vagrants/VVV). I get similar permission errors trying to downgrade ruby using rvm (rbenv is not installed in VVV). If I set the permissions of '/usr/local/rvm/gems/ruby-2.4.0/bin' and subfolders to 777, then it works, but this doesn't seem an ideal solution. EDIT: I just found this post (when trying to find why I couldn't downgrade ruby): http://stackoverflow.com/questions/26242712/installing-rvm-getting-error-there-was-an-error23 which informs me my user is not in the rvm group... after adding this using the command rvm group add rvm "$USER" and logging out/in again - the install works :) I just added an issue in the VVV repo: https://github.com/Varying-Vagrant-Vagrants/VVV/issues/1146 Thanks!

alessandro-fazzi commented 7 years ago

@lindsaymarkward @aluxh @maiorano84 @mrdink @morrislaptop I'm inspecting the problem; atm ruby 2.4.1 + active_support 4.2.8 seems to work fine - I've a non blocking warning during a pull operation.

Anyway I'm working on updating all the dependencies.

alessandro-fazzi commented 7 years ago

@lindsaymarkward @aluxh @maiorano84 @mrdink @morrislaptop i've updated all the dependencies...here seems to work just fine.

Sorry if I decided to push forward with ruby 2.4 as a requirement, but we do not have enough time to support multiple ruby versions with multiple related problems :)

I'd like to hear something back from you all about this update, if you'll have some time.

Cheers

justin-peacock commented 7 years ago

I'll do some testing this afternoon.

Update:

I updated ruby within vvv and for some reason I'm getting the error that it needs to be >= 2.2.2 even though the version is >

vagrant@vvv:~$ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
vagrant@vvv:~$ sudo gem install wordmove
ERROR:  Error installing wordmove:
    activesupport requires Ruby version >= 2.2.2.
lindsaymarkward commented 7 years ago

@mrdink - that might be a difference with sudo. Try sudo ruby -v and see what you get.

maiorano84 commented 7 years ago

I'll check into this on my personal laptop. Will follow up.

alessandro-fazzi commented 7 years ago

@mrdink have you already tried what @lindsaymarkward suggested? :)

maiorano84 commented 7 years ago

Various checks on my home laptop and work computer yield expected results. Wordmove works well at the latest version on Ruby version 2.4.0.

It is worth noting: A call to gem update wordmove at version 2.3.3 caused a dependency error, and after changing my global version to 2.4.0, subsequent calls to gem update wordmove resulted in a Nothing to update message.

This does not appear to be the fault of Wordmove, but rather my own inexperience with Ruby and Gems.

I was able to get the latest version after uninstalling and re-installing Wordmove.

alessandro-fazzi commented 7 years ago

Very well good to hear that.

And thanks for sharing the little trouble you had updating ;)

I'll considered this one fixed. Others should feel free to add comments as needed