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

vagrant (= 2.3.0) required by user-specified dependency when execute install command #240

Open
otorain opened this issue Sep 14, 2022 · 6 comments

Comments

@otorain
Copy link

otorain commented Sep 14, 2022

Description

when I install the plugin vagrant-proxyconf via install command vagrant plugin install vagrant-proxyconf , some errors occurred. It look like some dependencies are not satisfied. The full log is below the issue.

Environment

  • Ruby: 3.1.0
  • RubyGems: 3.3.13
  • Linux distribution: 5.15.60-1-MANJARO
  • Vagrant: 2.3.0

Temporary solution

Downgrade Vagrant from 2.3.0 to 2.2.19

Cause I use the manjaro distribution, so it can be done simply via downgrade command:

$ DOWNGRADE_FROM_ALA=1 sudo downgrade vagrant

And I choose the version 2.2.19-2
image

Full log

Ignoring bcrypt_pbkdf-1.1.0 because its extensions are not built. Try: gem pristine bcrypt_pbkdf --version 1.1.0
Ignoring ed25519-1.3.0 because its extensions are not built. Try: gem pristine ed25519 --version 1.3.0
Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5
Ignoring wdm-0.1.1 because its extensions are not built. Try: gem pristine wdm --version 0.1.1
Installing the 'vagrant-proxyconf' plugin. This can take a few minutes...
/home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/conflict.rb:47:in `conflicting_dependencies': undefined method `request' for nil:NilClass (NoMethodError)

    [@failed_dep.dependency, @activated.request.dependency]
                                       ^^^^^^^^
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/exceptions.rb:61:in `conflicting_dependencies'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/exceptions.rb:55:in `initialize'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver.rb:193:in `exception'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver.rb:193:in `raise'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver.rb:193:in `rescue in resolve'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver.rb:191:in `resolve'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/request_set.rb:411:in `resolve'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/bundler.rb:591:in `internal_install'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/bundler.rb:355:in `install'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/plugin/manager.rb:138:in `block in install_plugin'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/plugin/manager.rb:148:in `install_plugin'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/action/install_gem.rb:30:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/warden.rb:48:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/builder.rb:180:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/runner.rb:101:in `block in run'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/runner.rb:101:in `run'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/base.rb:14:in `action'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:70:in `block in execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:69:in `each'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:69:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/root.rb:66:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/cli.rb:67:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:301:in `cli'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/bin/vagrant:248:in `<main>'
/home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:317:in `raise_error_unless_state': Unable to satisfy the following requirements: (Gem::Resolver::Molinillo::VersionConflict)

- `vagrant (= 2.3.0)` required by `user-specified dependency`
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:299:in `block in unwind_for_conflict'
	from <internal:kernel>:90:in `tap'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:297:in `unwind_for_conflict'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:682:in `attempt_to_activate'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:254:in `process_topmost_state'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb:182:in `resolve'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver/molinillo/lib/molinillo/resolver.rb:43:in `resolve'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/resolver.rb:190:in `resolve'
	from /home/ian/.rbenv/versions/3.1.1/lib/ruby/site_ruby/3.1.0/rubygems/request_set.rb:411:in `resolve'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/bundler.rb:591:in `internal_install'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/bundler.rb:355:in `install'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/plugin/manager.rb:138:in `block in install_plugin'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/plugin/manager.rb:148:in `install_plugin'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/action/install_gem.rb:30:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/warden.rb:48:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/builder.rb:180:in `call'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/runner.rb:101:in `block in run'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/action/runner.rb:101:in `run'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/base.rb:14:in `action'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:70:in `block in execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:69:in `each'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/install.rb:69:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/plugins/commands/plugin/command/root.rb:66:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/cli.rb:67:in `execute'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/lib/vagrant/environment.rb:301:in `cli'
	from /opt/vagrant/embedded/gems/2.3.0/gems/vagrant-2.3.0/bin/vagrant:248:in `<main>'
@codylane
Copy link
Collaborator

I apologize how this might sound but we are not IT support. What sort of steps have you done to resolve this error? All you stated is that you got this error. Are you positive that vagrant is supposed to work on the version of ruby you have installed? Please confirm.

The error message above says you have conflicts with dependencies or perhaps there is a deprecation in ruby. I have not tested this and will not spend a bunch of time researching why this is happening. If you can demonstrate this is an error with our library then I'll try and assist but so far it looks external to this library. Sorry. I'm not paid to do this and I do this all in good faith when I have time.

Also, it's possible this could be affecting your experience. This is the reason why I no longer maintain this library. https://www.hashicorp.com/blog/toward-vagrant-3-0

@otorain
Copy link
Author

otorain commented Sep 16, 2022

I apologize how this might sound but we are not IT support. What sort of steps have you done to resolve this error? All you stated is that you got this error. Are you positive that vagrant is supposed to work on the version of ruby you have installed? Please confirm.

The error message above says you have conflicts with dependencies or perhaps there is a deprecation in ruby. I have not tested this and will not spend a bunch of time researching why this is happening. If you can demonstrate this is an error with our library then I'll try and assist but so far it looks external to this library. Sorry. I'm not paid to do this and I do this all in good faith when I have time.

Also, it's possible this could be affecting your experience. This is the reason why I no longer maintain this library. https://www.hashicorp.com/blog/toward-vagrant-3-0

Thanks for your reply! I have already added some description in the issue.

@codylane
Copy link
Collaborator

Hi @otorain - Thank you for the extra info.

I'm afraid at this point in time I don't have a solution that may meet your expectation. That said, if the downgrade works then let's assume that there is something in the Vagrant API that has changed and we will need to investigate. It could also be the stdlib of Ruby but will need to further investigate.

Because the current state of Vagrant is still Ruby it is still being replaced by a GO implementation. I'm not sure though if the juice is worth the squeeze to try and make this work for Ruby knowning that Ruby modules are going away very soon. I posted this link in my last response.

Give me the weekend to think and I'll respond back with further details if I can conjure up something useful. Please though! I may or may not respond right away since this is something I do when I have time and family comes first in our household. I may or may not have an answer for you come Monday. I apologize but this is the nature of doing free work.

@codylane
Copy link
Collaborator

codylane commented Oct 7, 2022

I apologize for the delay and I don't really have the free time anymore to help maintain this project as Ruby support is going away very soon and this is a ruby based plugin. I'm not sure the juice is worth the squeeze at this point and I feel terrible for saying this, I just don't have much interest in porting this to GO at this point.

@otorain
Copy link
Author

otorain commented Oct 9, 2022

I apologize for the delay and I don't really have the free time anymore to help maintain this project as Ruby support is going away very soon and this is a ruby based plugin. I'm not sure the juice is worth the squeeze at this point and I feel terrible for saying this, I just don't have much interest in porting this to GO at this point.

I totally understand you.

@codylane
Copy link
Collaborator

Thank you for your understanding. There has been a lot of love for this project and there have been some great contributors. Hopefully, someone might be able to pick this up and help address.

Thank you for reporting this issue.

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

No branches or pull requests

2 participants