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

Using Wordmove with photocopier-1.0.0.pre2 #174

Closed joeguilmette closed 9 years ago

joeguilmette commented 9 years ago

I'm trying to get Wordmove to play nice with multiple rsync flags, so I'm using photocopier-1.0.0.pre2.

Here's the commands I'm running in Vagrant to provision the server:

gem install wordmove

gem uninstall photocopier -aIx --version 0.0.10

gem install specific_install

gem specific_install -l https://github.com/welaika/photocopier.git

But when running Wordmove I get the following error output:

/usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'photocopier' (~> 0.0.10) - did find: [photocopier-1.0.0.pre2] (Gem::LoadError)
Checked in 'GEM_PATH=/usr/local/rvm/gems/ruby-2.0.0-p643:/usr/local/rvm/gems/ruby-2.0.0-p643@global', execute `gem env` for more information
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1311:in `block in activate_dependencies'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1300:in `each'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1300:in `activate_dependencies'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/specification.rb:1282:in `activate'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:67:in `block in gem'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:66:in `synchronize'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:66:in `gem'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/wordmove:22:in `<main>'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `eval'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `<main>'

How do I tell Wordmove to use photocopier-1.0.0.pre2?

alessandro-fazzi commented 9 years ago

Hmmm....

take e look inside wordmove.gemspecand you''l notice a dependency declaration like

gem.add_dependency "photocopier", "~> 0.0.10"

that's a pessimistic declaration (please refer to this article if you'd like to dig a bit this side of gems: https://robots.thoughtbot.com/rubys-pessimistic-operator)

So in order to unlock this constraint JUST FOR TESTING PURPOSE you should be able to locate the wordmove gem inside your RVM paths; I'm using rbenv and my path is

~/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/wordmove-1.2.0

your will be certainly different. Inside the gem you'll find the wordmove.gemspec and you should edit to obtain

gem.add_dependency "photocopier", ">= 0.0.10"

That should suffice. Let we know if it helps

joeguilmette commented 9 years ago

I managed to get Wordmove to play nice with the latest version of Photocopier, but now I'm getting this error:

▬▬ ✓ Using Movefile: ./Movefile ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
/usr/local/rvm/gems/ruby-2.0.0-p643/gems/photocopier-1.0.0.pre2/lib/photocopier/ssh.rb:2:in `<module:Photocopier>': uninitialized constant Photocopier::Adapter (NameError)
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/photocopier-1.0.0.pre2/lib/photocopier/ssh.rb:1:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/wordmove-1.2.0/lib/wordmove/deployer/ssh.rb:2:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/local/rvm/rubies/ruby-2.0.0-p643/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/wordmove-1.2.0/lib/wordmove/deployer/base.rb:33:in `deployer_for'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/wordmove-1.2.0/lib/wordmove/cli.rb:56:in `push'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/gems/wordmove-1.2.0/bin/wordmove:6:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/wordmove:23:in `load'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/wordmove:23:in `<main>'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `eval'
        from /usr/local/rvm/gems/ruby-2.0.0-p643/bin/ruby_executable_hooks:15:in `<main>'

Maybe I should just wait for the Photocopier gem to be rolled out.

alessandro-fazzi commented 9 years ago

Hey @joeguilmette we have a brand new and potentially bugged pre-release of WordMove which supports only Photocopier >= 1.0.0.pre2 :)

please

gem uninstall wordmove
gem uninstall photocopier
gem install wordmove --pre

test and give us feedback. I'm going to close this issue right now; probably new issues will be better choice for feedback about pre-release version.

Bye!

alessandro-fazzi commented 9 years ago

Oh, just FYI with this pre-release we're dropping support for ruby 1.9 (this is why the CI tool is broken at the moment).

sebastianopilla commented 9 years ago

After following @pioneerskies steps for installing the pre-release of WordMove, I have the "uninitialized constant" error as @joeguilmette :

[www@picard.home.lan sauve] $ /apps/gems/bin/wordmove pull --uploads --db --verbose --environment=production

▬▬ ✓ Using Movefile: ./Movefile ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
/apps/gems/gems/photocopier-1.0.0.pre2/lib/photocopier/ssh.rb:2:in `<module:Photocopier>': uninitialized constant Photocopier::Adapter (NameError)
        from /apps/gems/gems/photocopier-1.0.0.pre2/lib/photocopier/ssh.rb:1:in `<top (required)>'
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /apps/gems/gems/wordmove-1.3.0.pre/lib/wordmove/deployer/ssh.rb:2:in `<top (required)>'
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /apps/gems/gems/wordmove-1.3.0.pre/lib/wordmove/deployer/base.rb:33:in `deployer_for'
        from /apps/gems/gems/wordmove-1.3.0.pre/lib/wordmove/cli.rb:45:in `pull'
        from /apps/gems/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
        from /apps/gems/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
        from /apps/gems/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
        from /apps/gems/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
        from /apps/gems/gems/wordmove-1.3.0.pre/bin/wordmove:6:in `<top (required)>'
        from /apps/gems/bin/wordmove:23:in `load'
        from /apps/gems/bin/wordmove:23:in `<main>'
alessandro-fazzi commented 9 years ago

@sebastianopilla what gem list | grep wordmove says? Have you got multiple wordmove versions installed?

sebastianopilla commented 9 years ago

@pioneerskies I only have wordmove 1.3.0 pre:

[www@picard.home.lan ~] $ gem list | grep wordmove
wordmove (1.3.0.pre)

Actually I only have the gem dependencies for wordmove installed:

[www@picard.home.lan ~] $ gem list

*** LOCAL GEMS ***

activesupport (4.2.3, 4.1.6)
colored (1.2)
escape (0.0.4)
i18n (0.7.0, 0.6.11)
json (1.8.1)
minitest (5.4.2)
net-scp (1.2.1)
net-ssh (2.9.2, 2.9.1)
net-ssh-gateway (1.2.0)
photocopier (1.0.0.pre2)
rake (10.3.2)
thor (0.19.1)
thread_safe (0.3.4)
tzinfo (1.2.2)
wordmove (1.3.0.pre)
alessandro-fazzi commented 9 years ago

(not)Cool, thanks. Probably a problem with the new packages. We'll investigate a bit asap