-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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 Bundler Issues with plugin installing gem updates and devkit. #5722
Comments
I was getting a similar issue when trying to install a plugin on OSX. It wasn't complaining about the json gem however. It complained about ffi. OSX 10.11.5, Vagrant 1.8.4 I ran the above command from @athingisathing and plugin install worked afterwards for some reason.
The initial error:
|
I'm getting the exact same issue as Nate when trying to run 'vagrant plugin update'. I have tried completely un-installing vagrant and removing the .vagrant.d folder (essentially giving a clean install) but the issue persists. OS X 10.10.5 $ vagrant version Again, same as Nate, after running the command:
I am able to run
without issue. |
Related: #7793 |
Hi there, It looks like this has been resolved within a previously shipped version of Vagrant so I am now closing this issue. If the original issue was not fully resolved, please reopen this issue or create a new one. Cheers! |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
linked to Unable to install plugins that depend on nokogiri in Vagrant 1.6+ #3769
and others regarding installing plugins and getting errors.
I am still having the similar issue as in the link above in vagrant 1.7.2. There are several things happening but the core is the bundler code needs some work. The first is the hard-coding of gem sources in blundler but i have a separate ticket on that. Plugin installation fails behind firewall #4748
The second is that vagrants bundler will try to update all the gems when installing a new gem. I could not find out why that is happening and is the root issue in my opinion.
The final issues have to do with how to fix this.
I was able to install the needed gem in vagrant manually...(vagrant-winrm this does not matter though because it can happen on any gem and really has to do with the bundler update issues...so dont get stuck on this.) I known this because vagrant-winrm does not even need the gem that was failing...
every time i ran vagrant plugin install I got the same issues as noted in code below. So how did i get around it.... While debugging I tried to gem install of the json gem which is the one having issues... (issue installing because of devkit i think) this failed no matter what i did until i tried verbose and then it just worked. THATS RIGHT all I added was verbose and WTF it worked. HA
Once I did that I then did vagrant plugin install and it worked go fig.
So as I said the really problem is three fold bundler upgrading on gem plugin install... some sort of path error on gem install that needs devkit prob a make issue and bundler code in gerneal reads badly. (Would fix dont ahve time sorry ) and finnaly as i said --verbose all of the sudden fixing this! that is crazy sauce but i could see it in my minds eye how the code could work with this setting inplace... --vebbose means more more means more settings more settings mean working code usualy lol.. oh and vagrant plugin verbose does not magicaly fix this.
good luck hope this helps..
Code and tests as follows:
Test 1:
c:\Users\joschipp\Downloads>vagrant plugin install vagrant-winrm --verbose
Installing the 'vagrant-winrm' plugin. This can take a few minutes...
Fetching gem metadata from https://rubygems.org/.........
Resolving dependencies...
Using builder 3.2.2
Using gyoku 1.3.0
Using mini_portile 0.6.0
Using nokogiri 1.6.3.1
Using akami 1.2.2
Using bundler 1.7.11
Using hitimes 1.2.2
Using timers 4.0.1
Using celluloid 0.16.0
Using ffi 1.9.8
Using childprocess 0.5.6
Using erubis 2.7.0
Using gssapi 1.0.3
Using hashicorp-checkpoint 0.1.4
Using httpclient 2.6.0.1
Using rack 1.6.0
Using httpi 0.9.7
Using i18n 0.6.11
The system cannot find the path specified.
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
creating Makefile
Gem files will remain installed in C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2 for inspection.
Results logged to C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/gem_make.out
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 json (1.8.2), and Bundler cannot continue.
Make sure that
gem install json -v '1.8.2'
succeeds before bundling.c:\Users\joschipp\Downloads>
Test 2:
c:\Users\joschipp\Downloads>vagrant plugin install vagrant-winrm --verbose
Installing the 'vagrant-winrm' plugin. This can take a few minutes...
Fetching gem metadata from http://artifactory.trusted.visa.com:8080/api/gems/visa-ruby/.......
Fetching additional metadata from http://artifactory.trusted.visa.com:8080/api/gems/visa-ruby/..
Resolving dependencies...
Using builder 3.2.2
Using gyoku 1.3.0
Using mini_portile 0.6.0
Using nokogiri 1.6.3.1
Using akami 1.2.2
Using bundler 1.7.11
Using hitimes 1.2.2
Using timers 4.0.1
Using celluloid 0.16.0
Using ffi 1.9.8
Using childprocess 0.5.6
Using erubis 2.7.0
Using gssapi 1.0.3
Using hashicorp-checkpoint 0.1.4
Using httpclient 2.6.0.1
Using rack 1.6.0
Using httpi 0.9.7
Using i18n 0.6.11
The system cannot find the path specified.
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
creating Makefile
test 3: after a day of beating head
c:\HashiCorp\Vagrant\embedded\bin>gem install --install-dir ~/.vagrant.d/gems json
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
The system cannot find the path specified.
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
creating Makefile
Gem files will remain installed in C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2 for inspection.
Results logged to C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/gem_make.out
Test 4: CRAZY TOWN IT WORKED
c:\HashiCorp\Vagrant\embedded\bin>gem install --install-dir ~/.vagrant.d/gems json --verbose
HEAD http://artifactory.trusted.visa.com:8080/api/gems/visa-ruby/latest_specs.4.8.gz
304 Not Modified
Installing gem json-1.8.2
Temporarily enhancing PATH to include DevKit...
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_addition.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_encoding.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_fixtures.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_generate.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_generic_object.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_string_matching.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_unicode.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/.gitignore
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/.travis.yml
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/CHANGES
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/COPYING
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/COPYING-json-jruby
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/GPL
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/Gemfile
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/README-json-jruby.markdown
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/README.rdoc
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/Rakefile
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/TODO
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/VERSION
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/data/example.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/data/index.html
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/data/prototype.js
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/diagrams/.keep
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/fbuffer/fbuffer.h
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/depend
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/extconf.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/generator.c
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/generator/generator.h
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/parser/depend
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/parser/extconf.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/parser/parser.c
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/parser/parser.h
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/ext/parser/parser.rl
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/ext/json/extconf.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/install.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/ByteListTranscoder.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/Generator.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/GeneratorMethods.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/GeneratorService.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/GeneratorState.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/OptionsReader.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/Parser.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/Parser.rl
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/ParserService.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/RuntimeInfo.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/StringDecoder.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/StringEncoder.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/java/src/json/ext/Utils.java
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/json-java.gemspec
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/json.gemspec
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/json_pure.gemspec
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/bigdecimal.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/complex.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/core.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/date.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/date_time.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/exception.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/ostruct.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/range.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/rational.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/regexp.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/struct.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/symbol.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/add/time.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/common.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/ext.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/ext/.keep
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/generic_object.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/pure.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/pure/generator.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/pure/parser.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/lib/json/version.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail1.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail10.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail11.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail12.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail13.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail14.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail18.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail19.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail2.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail20.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail21.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail22.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail23.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail24.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail25.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail27.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail28.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail3.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail4.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail5.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail6.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail7.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail8.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/fail9.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass1.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass15.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass16.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass17.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass2.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass26.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/fixtures/pass3.json
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/setup_variant.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_addition.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_encoding.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_fixtures.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_generate.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_generic_object.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_string_matching.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tests/test_json_unicode.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tools/fuzz.rb
C:/Users/joschipp/.vagrant.d/gems/gems/json-1.8.2/tools/server.rb
Building native extensions. This could take a while...
c:/HashiCorp/Vagrant/embedded/bin/ruby.exe extconf.rb
creating Makefile
make "DESTDIR="
generating generator-i386-mingw32.def
compiling generator.c
linking shared-object json/ext/generator.so
make "DESTDIR=" install
/usr/bin/install -c -m 0755 generator.so ./.gem.20150515-18320-nobq1g/json/ext
installing default generator libraries
c:/HashiCorp/Vagrant/embedded/bin/ruby.exe extconf.rb
creating Makefile
make "DESTDIR="
generating parser-i386-mingw32.def
compiling parser.c
linking shared-object json/ext/parser.so
make "DESTDIR=" install
/usr/bin/install -c -m 0755 parser.so ./.gem.20150515-18320-1ki9cl4/json/ext
installing default parser libraries
c:/HashiCorp/Vagrant/embedded/bin/ruby.exe extconf.rb
creating Makefile
make "DESTDIR="
make: Nothing to be done for `all'.
make "DESTDIR=" install
installing default libraries
Successfully installed json-1.8.2
Parsing documentation for json-1.8.2
Parsing sources...
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/generator.so, skipping
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/parser.so, skipping
100% [24/24] lib/json/version.rb
Installing ri documentation for json-1.8.2
1 gem installed
Then Finaly back to plugin install...
c:\HashiCorp\Vagrant\embedded\bin>vagrant plugin install vagrant-winrm
Installing the 'vagrant-winrm' plugin. This can take a few minutes...
Installed the plugin 'vagrant-winrm (0.7.0)'!
list of all gems:
c:\HashiCorp\Vagrant\embedded\bin>gem list
*** LOCAL GEMS ***
bigdecimal (1.2.0)
io-console (0.4.2)
json (1.8.2, 1.7.7)
minitar (0.5.4)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)
list of all plugin gems:
c:\Users\joschipp.vagrant.d\gems\gems>ls
childprocess-0.5.6 ffi-1.9.8-x86-mingw32 gyoku-1.3.0 json-1.8.2 minitar-0.5.4 net-ssh-2.9.2 rdoc-4.2.0 vagrant-winrm-0.7.0
All on totaly clean install of vagrant
The text was updated successfully, but these errors were encountered: