Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash with ruby-thor 1.0.1 #739

Closed
nycko123 opened this issue Dec 24, 2019 · 5 comments · Fixed by #740 or #742
Closed

Crash with ruby-thor 1.0.1 #739

nycko123 opened this issue Dec 24, 2019 · 5 comments · Fixed by #740 or #742

Comments

@nycko123
Copy link

Traceback (most recent call last):
        8: from /usr/bin/tmuxinator:23:in `<main>'
        7: from /usr/lib/ruby/2.6.0/rubygems.rb:304:in `activate_bin_path'
        6: from /usr/lib/ruby/2.6.0/rubygems.rb:304:in `synchronize'
        5: from /usr/lib/ruby/2.6.0/rubygems.rb:305:in `block in activate_bin_path'
        4: from /usr/lib/ruby/2.6.0/rubygems/specification.rb:1417:in `activate'
        3: from /usr/lib/ruby/2.6.0/rubygems/specification.rb:1435:in `activate_dependencies'
        2: from /usr/lib/ruby/2.6.0/rubygems/specification.rb:1435:in `each'
        1: from /usr/lib/ruby/2.6.0/rubygems/specification.rb:1446:in `block in activate_dependencies'
/usr/lib/ruby/2.6.0/rubygems/dependency.rb:313:in `to_specs': Could not find 'thor' (>= 0.15.0, ~> 0.19) - did find: [thor-1.0.1] (Gem::MissingSpecVersionError)
Checked in 'GEM_PATH=/home/nycko/.gem/ruby/2.6.0:/usr/lib/ruby/gems/2.6.0', execute `gem env` for more information
@ethagnawl
Copy link
Member

Thanks for reporting this, @nycko123. There's a fix in #740 and I'll try to cut a release today or tomorrow.

@Segaja
Copy link

Segaja commented Dec 26, 2019

How is this a fix, if you limit the version of thor to be below 1.0.0? Distributions like archlinux ship ruby-thor in version 1.0.1 On which tmuxinator then doesn't run anymore?

@ethagnawl ethagnawl reopened this Dec 26, 2019
@ethagnawl
Copy link
Member

Sorry, I'm not very familiar with distro package manager based distribution. (RubyGems would just install the older version and carry on.) From what you've said and reading Arch's Ruby Gem package guidelines, it looks like the version constraint would need to be added to the package's PKGBUILD config file. Even then, I'm not clear if it'd install the older, outdated version.

I was hesitant to upgrade to Thor 1.0.0+ for fear of breaking API changes, but it looks like tmuxinator is already compatible with Thor 1.0.0+.

I think the best way forward is just to upgrade the dependency.

@Frederick888
Copy link

@ethagnawl No, pacman (Arch's package manager) will simply tell you that the old version of ruby-thor cannot be found and refuse to install the package.

I don't code in Ruby and I've got completely no idea how gem locates dependencies. ruby-thor is installed to /usr/lib/ruby/gems/2.6.0/gems/thor-0.20.3 in Arch atm so I assume gem can handle co-existing different versions of the same package. Then since tmuxinator is in AUR, usually a (temporary) fix is to push another package to AUR for the old version of ruby-thor but if I may be brutally honest, it's usually a PIA for downstream maintainers.

But if gem works somehow like pip and doesn't allow different versions to be installed at the same time (in the same scope), I'm afraid upgrading to the latest version is probably the only viable solution for Arch users.

@ethagnawl
Copy link
Member

Would any of you Arch folks mind reviewing #742?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants