-
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
Plugin installation on Windows fails due to binary JSON gem dependency. #1571
Comments
Quick fix: I'm having this problem too and discovered the fix: you need to activate the Ruby DevKit that is bundled with Vagrant. See #1619. Important note: you'll also need to ensure that the path where Vagrant is installed does not contain parentheses -- "Program Files (x86)" causes the install to choke. So do what I did and move your Vagrant installation to C:\bin\vagrant (or similar) after installation so that won't happen. |
Ah hah. This is still a bug with the installers then that the DevKit isn't properly activated. I'll try to get to that... |
You shouldn't have to run the batch file every time. Based on my limited experience with RubyInstaller for Windows and their instructions for installing the DevKit (https://github.com/oneclick/rubyinstaller/wiki/Development-Kit), I permanently updated the Vagrant embedded Ruby DevKit as follows:
Verify the DevKit has been hooked into Vagrant embedded Ruby:
Of course this still has the problems due to being located in Note Opscode also add their |
@gitfool I agree I don't think adding the whole The main bug is that the "operating_system.rb" doesn't point to the correct path for the installer. I need to modify the installer generation process to modify this file and point ito the proper place. |
@mitchellh Sounds good. Without Please seriously consider moving the default install directory to This will require an elevated prompt on newer Windows (which I'll use as shorthand for Vista or newer, when they introduced
So on newer Windows, an installed program should not be writing to it's installation directory, that's what |
@gitfool Actually, Vagrant already installs all gems with |
@mitchellh Nice, that does the trick then; although slightly messy as the first thing I did was add some gems into the Vagrant embedded Ruby, as I did with Chef embedded Ruby, and the RubyInstaller for Windows Ruby. So in this case I'd prefer if all the gems were in the same place so I can easily peruse them etc. |
@mitchellh So I just double checked, and yes I can run Also, it looks like you're installing data per user, i.e. in |
This is fixed now. Also, yes, installing per user is my intention, so that you can reinstall Vagrant and have things continue to work. |
I originally raised this issue with vmware-archive/salty-vagrant#60, but it appears to be a problem more related to Vagrant in general since it's popping up on other Vagrant plugins as well: RiotGames/berkshelf-vagrant#15
I'm not much of a Ruby guy, but it looks like there's a dependency on a JSON gem somewhere. This particular gem includes C extension that needs to be compiled, which causes the build to bomb on Windows:
Is there any way "json_pure" can be used to eliminate the need for the C extension?
The text was updated successfully, but these errors were encountered: