can not install vagrant-vbguest
Asked Answered
I

1

0

I am unable to install vagrant-vbguest on OS X 10.10.4, because it says it can't install Nokogiri.

I have:

  • ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
  • Vagrant 1.6.2
  • VirtualBox 4.3.12

The maddening thing is that I do have nokogiri installed already:

> whereis nokogiri
/usr/bin/nokogiri

> /usr/bin/nokogiri -v
# Nokogiri (1.6.6.2)
    ---
    warnings: []
    nokogiri: 1.6.6.2
    ruby:
      version: 2.0.0
      platform: universal.x86_64-darwin14
      description: ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
      engine: ruby
    libxml:
      binding: extension
      source: packaged
      libxml2_path: /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin14/libxml2/2.9.2
      libxslt_path: /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.6.2/ports/x86_64-apple-darwin14/libxslt/1.1.28
      libxml2_patches:
      - 0001-Revert-Missing-initialization-for-the-catalog-module.patch
      - 0002-Fix-missing-entities-after-CVE-2014-3660-fix.patch
      libxslt_patches:
      - 0001-Adding-doc-update-related-to-1.1.28.patch
      - 0002-Fix-a-couple-of-places-where-f-printf-parameters-wer.patch
      - 0003-Initialize-pseudo-random-number-generator-with-curre.patch
      - 0004-EXSLT-function-str-replace-is-broken-as-is.patch
      - 0006-Fix-str-padding-to-work-with-UTF-8-strings.patch
      - 0007-Separate-function-for-predicate-matching-in-patterns.patch
      - 0008-Fix-direct-pattern-matching.patch
      - 0009-Fix-certain-patterns-with-predicates.patch
      - 0010-Fix-handling-of-UTF-8-strings-in-EXSLT-crypto-module.patch
      - 0013-Memory-leak-in-xsltCompileIdKeyPattern-error-path.patch
      - 0014-Fix-for-bug-436589.patch
      - 0015-Fix-mkdir-for-mingw.patch
      compiled: 2.9.2
      loaded: 2.9.2

And I can reinstall it individually:

> sudo gem install nokogiri -v '1.6.6.2'
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.6.2
1 gem installed

And yet:

> sudo vagrant plugin install vagrant-vbguest
Installing the 'vagrant-vbguest' plugin. This can take a few minutes...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.6.2'` succeeds before bundling.

Also:

> vagrant plugin update
Updating installed plugins...
Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.6.2'` succeeds before bundling.

It does look like the problem has nothing to do with nokogiri, but I was not able to find a solution.

Any ideas?

Implead answered 26/7, 2015 at 1:18 Comment(2)
Well, you never issued the command mentioned in the error message. Is ruby 2.0 your system install of ruby? If so, why oh why are you messing around with it? If not, you should not be installing gems with sudo.Gynecic
If you are referring to gem install nokogiri -v '1.6.6.2', just scroll up a bit and you'll see that I did, and it succeeded. I'm not sure what you mean by "messing around with it". I did list my version of Ruby at the top. I tried sudo after failing without sudo, just to see whether that might make a difference. I'm not a ruby developer, so I'm just following a trial and error process of elimination, not really understanding what's going on. That's why I'm posting here, after all.Implead
E
0

This question is quite old, but searchable. Vagrant is pluggable, and I expect it embeds Ruby, instead of working with the system Ruby you might use for scripting.

You shouldn't have to worry about Ruby gems anyway because you can install plugins right from your Vagrantfile:

# Install required plugins

  required_plugins = %w( vagrant-vbguest )

  plugin_installed = false

  required_plugins.each do |plugin|

    unless Vagrant.has_plugin?(plugin)

      system "vagrant plugin install #{plugin}"

      plugin_installed = true

    end

  end  
Efta answered 25/10, 2022 at 20:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.