welaika / wordmove

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

SPELL_CHECKERS and psych-4.0.6 errors #661

Closed marcoluzi closed 1 year ago

marcoluzi commented 1 year ago

Describe the bug

After updating to macOS Venture, wordmove can not push or pull data from/to the environment. I tried different Ruby Version and reinstalled the wordmove gem multiple times.

Wordmove command

wordmove pull --all wordmove push -t

Expected behavior

The commands should run without any errors.

movefile.yml

global:
    sql_adapter: wpcli

local:
    vhost: https://domain.test
    wordpress_path: /Users/user/repos/valet/domain

    database:
        name: domain
        user: user
        host: localhost

beta:
    vhost: https://domain.user.dev
    wordpress_path: /home/user/www/domain.user.dev

    database:
        name: domain
        user: domain
        password:
        host: localhost

    exclude:
        - ".git/"
        - ".gitignore"
        - "node_modules/"
        - "bin/"
        - "tmp/*"
        - "Gemfile*"
        - "Movefile"
        - "movefile"
        - "movefile.yml"
        - "movefile.yaml"
        - "wp-config.php"
        - "wp-content/*.sql.gz"
        - "*.orig"

    ssh:
        host: host
        user: user
        rsync_options: "--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r"

    forbid:
        push:
            db: true
            plugins: true
            themes: false
            languages: true
            uploads: true
            mu_plugins: true
        pull:
            db: false
            plugins: false
            themes: true
            languages: false
            uploads: false
            mu_plugins: false

Exception/trace

Wordmove returns the following error while pulling:

Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
/Users/user/.gem/ruby/3.1.0/gems/psych-4.0.6/lib/psych.rb:322:in `safe_load': wrong number of arguments (given 4, expected 1) (ArgumentError)
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/lib/wordmove/movefile.rb:30:in `fetch'
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/lib/wordmove/movefile.rb:46:in `environment'
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/lib/wordmove/movefile.rb:34:in `load_dotenv'
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/lib/wordmove/deployer/base.rb:11:in `deployer_for'
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/lib/wordmove/cli.rb:81:in `pull'
        from /Users/user/.gem/ruby/3.1.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
        from /Users/user/.gem/ruby/3.1.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
        from /Users/user/.gem/ruby/3.1.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
        from /Users/user/.gem/ruby/3.1.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
        from /Users/user/.gem/ruby/3.1.0/gems/wordmove-5.2.2/exe/wordmove:6:in `<top (required)>'
        from /Users/user/.gem/ruby/3.1.0/bin/wordmove:25:in `load'
        from /Users/user/.gem/ruby/3.1.0/bin/wordmove:25:in `<main>'

This part is returned while using any wordmove command, for example wordmove -v:

Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.

Environment (please complete the following information):

Doctor

wordmove doctor returns the same two errors as stated in the Exception/trace section above.

marcoluzi commented 1 year ago

Just checked it on my MacBook with macOS 12.6 (21G115). Same problem.

marcoluzi commented 1 year ago

Finally found the problem. Running gem update breaks the installation. I guess some dependencies will be updated with this command and thus will break wordmove.