tmatilai / vagrant-proxyconf

Vagrant plugin that configures the virtual machine to use proxies
MIT License
531 stars 74 forks source link

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

Open otorain opened 2 years ago

otorain commented 2 years ago

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

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 commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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.