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
Embedded bundler clashing with my bundler #3193
Comments
Hah you're right. |
Working on a fix now. |
Maybe more a vagrant-installers issue. Adding this: unset BUNDLE_BIN_PATH
unset BUNDLE_GEMFILE
unset RUBYLIB
unset RUBYOPT to the vagrant template fixes it locally for me. This emulates (and then some) what |
I fixed it in core, try to bundle upate and see if that works |
Thanks! I'm using vagrant on OS X as installed with the installer, where should I |
Wherever it is clashing |
The issue is that the vagrant embedded ruby is being run with To get the change you did make I'm pretty sure the only thing I can do locally is update the embedded vagrant gem under |
When you run |
It is, because I don't have vagrant in my bundle. I'm treating vagrant as installed with the OS X installer as a system app/service. Is that not the right approach? I am using things like test-kitchen which I do put in my bundle and therefore want to run under $ bundle exec bash -c 'which vagrant'
/usr/bin/vagrant |
Ah I see. Vagrant will not work in this way. It will not be able to read any of your Gemfile dependencies. |
I don't want it to. |
Good! Then the commit I made should fix it. |
I don't think we are on the same page. :( I will locally add the |
I'm using vagrant 1.5.1 on Mac OS X and having the same problem as above with bundler 1.6.0: $ bundle -v
Bundler version 1.6.0
$ bundle exec vagrant status
/Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/bundler.rb:31:in `initialize': undefined method `new' for Bundler::UI:Module (NoMethodError)
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/bundler.rb:17:in `new'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/bundler.rb:17:in `instance'
from /Applications/Vagrant/bin/../embedded/gems/gems/vagrant-1.5.1/lib/vagrant/pre-rubygems.rb:22:in `<main>' Everything is fine with bundler 1.5.3: $ bundle -v
Bundler version 1.5.3
$ bundle exec vagrant status
Current machine states:
default not created (virtualbox)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment. Is there anything I'm doing wrong? Thanks. |
Seeing the same thing.
Bundler::UI (bundler/lib/bundler/ui.rb) ceased to be a class in bundler-1.5.2. It is a module in bundler-1.5.3. Should Vagrant-1.5.1 use bundler-1.5.2 instead? Any way to override this without a newer Vagrant? EDIT: Bundler::UI is a module in 1.6.0 not in 1.5.3. |
I'm guessing when 1.5.2 is released and a new installer is built with hashicorp/vagrant-installers#33 this will be fixed. Until then, you can edit |
@dpiddy By the way, if you downgrade Our environment were setup almost identical, except for This was the warning:
Anyways, thanks for the explanation. It definitely saved the day for us. 👍 |
updating vagrant to 1.5.2 solved it for me, thanks @dpiddy and @mitchellh 👍 |
It seems that for bundler 1.6, Bundler::UI is now a module where it was a class before. Hence, it's not possible to instantiate anymore. The class lib/vagrant/bundler is not ready yet for bundler 1.6. See issue #3451 for more info. Until then, this error can appear strangly when using test-kicthen with
While the error is simply that the version check failed in which case it prints this error. |
I think vagrant's embedded bundler is clashing with my bundler when vagrant is run within
bundle exec
. I am using vagrant 1.5.0, this reproduces it for me:I think I was able to use 1.4 within
bundle exec
but I'm not sure.The text was updated successfully, but these errors were encountered: