zendesk / zendesk_apps_tools

Apache License 2.0
74 stars 38 forks source link

wrong number of arguments (given 2, expected 0..1) (ArgumentError) when trying to update an app #397

Open vladorjiggy opened 2 years ago

vladorjiggy commented 2 years ago

I'm trying to update an app with "zat update" and this error occurs:

/home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/i18n-1.10.0/lib/i18n.rb:210:in `translate': wrong number of arguments (given 2, expected 0..1) (ArgumentError)

full error log:

from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_support-4.32.0/lib/zendesk_apps_support/i18n.rb:7:int' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_support-4.32.0/lib/zendesk_apps_support/validations/validation_error.rb:53:in to_s' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/command.rb:111:in block in validate' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/command.rb:111:in each' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/command.rb:111:in validate' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/command.rb:122:in package' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/deploy.rb:50:in upload' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/deploy.rb:11:in deploy_app' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/lib/zendesk_apps_tools/command.rb:223:in update' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/thor-0.19.4/lib/thor/command.rb:27:in run' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in invoke_command' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/thor-0.19.4/lib/thor.rb:369:in dispatch' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/thor-0.19.4/lib/thor/base.rb:444:in start' from /home/XXX/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/zendesk_apps_tools-3.8.14/bin/zat:13:in <top (required)>' from /home/XXX/.rbenv/versions/3.1.2/bin/zat:25:in load' from /home/XXX/.rbenv/versions/3.1.2/bin/zat:25:in <main>' this error occurs only in one particular app. Updating other apps works fine.

Whats the problem and how to solve it?

e0da commented 1 year ago

I also have this issue when trying to use ruby 3.2.1 or 3.2.0. If I use ruby 2.7.7 the issue does not occur. Seems to be some kind of incompatibility with ruby 2/3+i18n or something. FWIW, I recommend using ruby 2.x if you can.

fjl82 commented 10 months ago

Ruby 2 is quite old and often no longer available on newer distributions. If you're not a fan of hacks like rbenv, and want to stick with your distro's Ruby (usually 3.x these days), change the following file in your gems directory: zendesk_apps_support-4.38.3/lib/zendesk_apps_support/i18n.rb old:

      def t(key, *args)
        i18n.t(key, *args)
      end

new:

      def t(key, args = {})
        i18n.t(key, **args)
      end