Vagrant plugin install failing - ruby

I'm trying to install the vagrant-hostmanager plugin, but the install keeps failing. Here's the error:
Applications/Vagrant/embedded/gems/gems/vagrant-1.3.5/plugins/commands/plugin/state_file.rb:47:in `save!': undefined method `sort!' for {}:Hash (NoMethodError)
Anyone else run into this?

I ran the vagrant uninstall script that comes with the vagrant 1.3.5 install and got the same error. Then I nuked the hidden $HOME/.vagrant.d directory and that did the trick.
For me, there's a showstopper bug in 1.4.0 in configuring networking on RHEL (and variants), so I had to downgrade my development workstations to 1.3.5 (until Vagrant 1.4.1 is released with a fix): https://github.com/mitchellh/vagrant/issues/2614)

Or you can be more selective by figuring out what the issue is:
~/.vagrant.d 06:08:58 516$ grep -R state_file gems/
gems//gems/bindler-0.1.3/lib/bindler/bend_vagrant.rb:require
Vagrant.source_root.join('plugins/commands/plugin/state_file').to_s
So in my case "bindler".
~/.vagrant.d 06:11:43 519$
vagrant plugin uninstall bindler Uninstalling the 'bindler' plugin...
~/.vagrant.d 06:12:39 520$ grep -R state_file gems/
All done!

Related

Rvm error: Error running '__rvm_make -j2'

Error running '__rvm_make -j2',
please read /usr/share/rvm/log/1657548775_ruby-2.5.5/make.log
There has been an error while running make. Halting the installation.
After struggling a lot. This worked for me
rvm pkg install openssl
rvm remove x.x.x
rvm install x.x.x -C --with-openssl-dir=$HOME/.rvm/usr
Foreword: I encountered this problem while trying to install rvm in WSL2
Onto to the meat now.
You may encounter newer versions of this error marked by a different end switch. I mean, instead of the last switch being strictly -j2, yours might be -j3, j4, j5, or other subsequent ones. Therefore proceed to read below for a possible solution.
Shortly, I suggest two commands to resolve this error. Please do not run the installation suggestion that may appear immediately after running the first command. Instead, just proceed to run the second command.
On pasting the second command, replace <version> portion with the appropriate ruby version you would like to install. In my case, I wanted to install ruby version 2.7.4, and therefore, I set it as ruby-2.7.4
rvm pkg install openssl
rvm install ruby-<version> --with-openssl-dir=/usr/share/rvm/usr
However, if the above fix fails to remedy the ruby installation problem, you can ensure that rvm is added to the user group by running the command below:
rvm group add rvm $USER
After running the command above, close the Ubuntu app and reopen it. Then proceed to run the command below:
rvm fix-permissions
Now try reinstalling ruby with the command rvm install 2.7.4 --default. If problems persist, run sudo usermod -a -G rvm $USER and attempt a reinstall. If that fails, only further research gives you a chance.
PS:
Please note that I was making this installation in Windows Subsystem for Linux (WSL2) Ubuntu Therefore, if this problem persists in another system like macOS, it may mean that this solution is perhaps not platform agnostic, and thus, the specific solution for such requires further digging.
I ran into a similar problem - Error running "__rvm_make -j4". The bug was the lack of support for OpenSSL 3.0 when used on Ubuntu 22.04. You can try using "rbenv" instead of "rvm", it worked for me.
Had a similar error "Error running '__rvm_make -j10'" and solved with --with-out-ext=fiddle flag.
rvm install "ruby-2.7.0" --with-out-ext=fiddle
This on M1
you can try this command to solve the issue
sudo apt-get install curl git g++ make libssl-dev libreadline-dev zlib1g-dev

Timed out when using vagrant plugin install command on windows

I am trying to install some vagrant plugins so I can create my local VM.
Here is what I got after executing vagrant plugin install vagrant-vbguest command.
I have also tried vagrant plugin install vagrant-vbguest --plugin-clean-sources --plugin-source https://rubygems.org command but I'm still getting the same error.
I also tried to install the plugin by specifying the path to the downloaded GEM file: https://www.vagrantup.com/docs/plugins/usage.html
I download the GEM file to /home/downloads/vagrant-vbguest.gem and then command vagrant plugin install /home/downloads/vagrant-vbguest.gem and still getting the same error.
What do you suggest as a solution guys?
Thank you,
I figured out the problem. There was some restrictions in my network. I just switched to another network and it worked fine.
first get the ipv4 address of rubygems.org with
ping rubygems.org
then try this:
vagrant plugin install <gem_plugin> --plugin-clean-sources --plugin-source https://<ip_address>

vagrant up fails with cannot load winrm

I am trying to run a Vagrant box with SQL Server for local development. I am running Fedora 23. The box in question is this.
vagrant up fails with the following error message:
/usr/share/vagrant/plugins/communicators/winrm/shell.rb:9:in `require':
cannot load such file -- winrm (LoadError)
I have tried to install winrm with gem install winrm, and it installs just fine, but vagrant still fails.
The following ruby script runs without errors:
require "winrm"
puts "hello world"
Does anyone know how to fix this?
The winrm and winrm-fs gems are not packaged with Fedora or Debian. You can run:
$ vagrant plugin install winrm
$ vagrant plugin install winrm-fs
(i.e. vagrant plugin install, not gem install).
Note: Using Vagrant version 1.8.1, the winrm gem failed to install and this fixed it:
$ vagrant plugin install winrm --plugin-version 1.8.1
$ vagrant plugin install winrm-fs
Had the same issue:
With Ubuntu Ubuntu 20.04.1 LTS running ruby 2.7.0p0 and Vagrant 2.2.6
The solution that worked for me -
$ vagrant plugin install winrm
$ vagrant plugin install winrm-fs
$ vagrant plugin install winrm-elevated (this additional error showed after the first two were installed)
Not sure what the problem was, but I fixed it by uninstalling vagrant with dnf, and installing the latest version from vagrantup.com. Seems winrm is included in the latest vagrant version.
Same resolution as here: https://groups.google.com/forum/#!topic/vagrant-up/mBYMUHm-YBI
So this is an issue with the Debian packaged version of Vagrant. Installing the DEB package from https://www.vagrantup.com/downloads.html works (both for 1.6.5 and 1.7+).
780036 has been raised with Debian to track this issue.

Running pod setup gives me "bad interpreter: No such file or directory" error

Recently I tried to do pod setup and I get this error:
-bash: /usr/local/bin/pod: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory
I followed Ray Wenderlich's guide to install CocoaPods and I get this issue so I have no idea what is going on.
I encountered this problem when upgrading to Mac OS High Sierra.
This was my fix:
sudo gem install cocoapods
I found this answer on the CocoaPods issue list on Github.
This happened when I upgraded to Catalina.
I solved it by running:
sudo gem install -n /usr/local/bin ruby
sudo gem install -n /usr/local/bin cocoapods
After upgraded to High Sierra, I got the same error, just reinstalled the cocoapods
sudo gem install -n /usr/local/bin cocoapods
Same issue I was facing when I updated our system from Sierra to Mojave. Also works for Catalina
The following steps worked:
sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods
I got the help from the following link.
brew link --overwrite cocoapods
This line saved my day.
i fixed it by running brew install ruby
The following worked for me:
Select Command Line Tools in XCode.
XCode > Preferences > Locations > Command Line Tools > XCode 11.X.X
In terminal execute:
sudo gem install cocoapods -n /usr/local/bin
https://stackoverflow.com/a/60464653
While I'm trying to install again then I got another error saying that
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
Then I did this and worked fine.
sudo gem uninstall cocoapods
sudo gem install cocoapods
On my mac this solved the problem:
brew uninstall cocoapods
brew install cocoapods
After upgrading from OS X Mojave to OS X Catalina I received this message when running pod init or pod --version:
-bash: /Users/mangolassi/.gem/bin/pod: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby: bad interpreter: No such file or directory
I don't like the idea of sudo gem install cocoapods so I have my .cocoapods folder in my user directory and I've modified my .bash_profile to point to it. The error I received was because the version 2.3 was hard coded in this file:
/Users/eric/.gem/bin/pod and Catalina came with 2.6.
It's possible that using sudo install would overwrite this file successfully, and probably does, but I wanted to keep my original setup.
I was able to to just modify the first shebang line of the file /Users/eric/.gem/bin/pod to have a path with 2.6 instead of 2.3 and it worked. The entire change was changing the '3' to a '6' in my chase as the version was still '2'.
for MACOS X Catalina
Tried most of the answers but none worked. If the above doesn't work try Opening Xcode preferences > Locations > selecting Command Line Tools to Xcode. Then install cocoapods
sudo gem install -n /usr/local/bin cocoapods
The error in the original post is due to an improperly configured Ruby environment. You should never use sudo to install gems, no matter how many times you see it as an accepted answer on Stack Overflow.
At a high level, setting up a proper Ruby development environment on a Mac involves six steps:
Install Homebrew (which also installs the prerequisite Apple command line tools)
Install a Ruby manager (such as chruby, rbenv, asdf, RVM) - most of these can be installed with Homebrew
Configure the Ruby manager by adding the appropriate lines to your shell file (~/.bash_profile or ~/.zshrc) - each manager will have instructions for doing this, and this is a typical step that people miss
Restart the terminal (or open a new tab) for the shell changes to take effect - another step that is often overlooked
Install a specific version of Ruby using the Ruby manager
Switch to that version of Ruby using the Ruby manager
My personal preference is chruby with ruby-install. For more details and a script that can automate this whole process, check out my answer here:
https://stackoverflow.com/a/54873916/928191
As the accepted answer mentions, you can also install Ruby with Homebrew, but you also need to make sure to set your PATH in your shell file. Instructions for this are in my answer linked above.
I came across a similar issue when I tried upgrading the cocoa pods version using:
brew upgrade cocoapods
To fix this, cocopaods had to be linked with xcodeproj using the command below:
brew link cocoapods
If the linking fails, then you should be able to link by overwriting the previously existing link as follows:
brew link --overwrite cocoapods
Fixed with
brew upgrade cocoapods
In my case nothing of the above worked. I had ruby 2.3.0 installed and I had to downgrade to 2.0.0:
gem update --system 2.0.0
The "rubyist approved" way of doing this is to install a ruby version manager (rbenv) and install cocoapods through that. Messing with sudo and your rubygems is going to lead to tears.
Find the pod file. Mine was located at usr/local/bin/pod
You'll find that the top line says version 2.3. Edit this file to the correct version number. Save a copy of the original incase you mess it up.
Try your pod related commands again.
Worked for me after days of trying everything.
vi pod
then replace the ruby path 2.3 one to the path which u get by using
which ruby command in terminal
then do pod setup it will work
this worked for me after trying all the listed solutions .
re-installing ruby solving issues on my case (error happen after I upgrade Mac OS to Monterey). it's take a bit of time to reinstall but it worked

Error Installing Jekyll - Native Extension Build

I'm having some trouble installing jekyll. Can't quite figure out how to patch the missing link. I think it's an update to Ruby, but RVM is having trouble installing alternate versions of ruby as well.
Heres the full post:
$ sudo gem install jekyll
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/fast-stemmer-1.0.1/ext/gem_make.out
Does this mean I need to update the version of ruby I'm using via rvm?
Ubuntu
sudo apt-get install ruby-dev
gem install jekyll
Your problem is that either you system doesn't know where make is located at or you don't have it installed. The easiest way to fix this (and probably other issues you'll run into trying to get a ruby system up and running) is to install xcode.
You can get it at http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 for lion. Or it came on a CD with your computer for earlier versions.
If you're using Lion, please see comments below for a link to how to install developer tools on Lion.
I had the same error on Ubuntu and this helped me sort it out.
You must have ruby-dev installed
apt-get install ruby-dev
If you installed XCode and command line tools are still missing go to Terminal and
xcode-select --install
it will prompt you to install these tools. After that just follow SrBlanco´s answer. That solved the problem for me.
Good luck.
Need to install "make".
I am using Ubuntu 12.10.
sudo apt-get install make
Should work on any Debian based distro.
Note: this problem also occurs on newer MacBook Pro models that come with Mavericks pre-installed. I updated another post with my own solution that didn't involve Xcode at all. My system had the Xcode developer tools installed when I got the machine.
ERROR: Error installing jekyll: ERROR: Failed to build gem native extension
Install Xcode as mentioned if you don't have it installed already (https://developer.apple.com/xcode/). Plus you need the command line tools.
Open Xcode. Go to Preferences > Downloads > Install Command Line Tools
Installing command line tools for Xcode solved the problem for me on my Mac
xcode-select --install.
sudo apt-get install ruby-dev
sudo gem install jekyll
hope this will help, it works with me.
I had this same exact error when trying to install Jekyll, and the following steps from this link helped me. Just in case anyone else comes across this!
http://davidensinger.com/2013/03/installing-jekyll/
I was facing the same issue in my Fedora 22 setup. I had ruby installed but didn't have ruby-devel. Installing ruby-devel fixed the issue for me.
dnf install -y ruby-devel
For older systems:
yum install -y ruby-devel
I followed this on Ubuntu/Linux Mint
sudo apt install build-essential
sudo apt install ruby-dev
sudo gem install jekyll
An addendum: You can install XCode now from the App Store on Mountain Lion. The process is transparent and pretty fast.
I had the same problems with you.
I use Mac OS X 10.9 develop preview version, and I had installed gcc and Xcode.
But my Xcode version is 4.6.
Then I install the Xcode 5.0
After that I type sudo gem install jekyll in the terminal again. Then it works.
Wish it could help someone.
Installing Xcode and going to perferencs > downloads > install commandline tools WORKS!
Same problem on Debian, I had forgot to run this command:
~/.rvm/scripts/rvm
All these answers did NOT work for me.
If you're looking for a solution on ubuntu 14.04, do this:
sudo apt-get install ruby1.9.1-dev zlib1g-dev nodejs
sudo gem install jekyll -v 2.5.3
Unfortunately, nodejs is required because of a bug in Jekyll that enforces existence of runtime JS engine even though it doesn't need one.
For Ubuntu, this helped in my case:
apt-get install libffi-dev
A general advice is to just follow what is displayed as the reason for the error and hopefully you'll be provided with a log file in which the first line suggests which package should be installed, in my case:
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/ffi-1.9.21/mkmf.log
MacOS
my solution to this problem
install xcode
type xcode-select --install in the command line
type sudo gem install jekyll in the command line
PS: It is the combination of the two answers in this question.
You are missing the ruby-dev file , just go ahead and run this command - sudo apt-get install ruby-dev
Hope this helps!!
I had the same issue on my macOS(10.14.2), the reason may be:
Apparently with OSX el Capitan, there is a new security function that prevents you from modifying system files called Rootless.
My solution is using rvm:
install ruby on Mac OS X with RVM
gem install jekyll
On windows I have this issue
I actually installed the version rubyinstaller-devkit-2.6.3-1-x64 of ruby
I have removed the ruby completely and Installed the rubyinstaller-devkit-2.5.5-1-x64
and issued the following commands on powershell
gem install bundler
gem install jekyll
and this time no errors where found
I had this issue and of all things, the error was occurring because I hadn't agreed to some updated terms of service in xcode. Running the following did the trick for me. Go figure.
sudo xcodebuild -license accept
For me, I had to upgrade homebrew and install rbenv to the latest ruby version. After that, I followed the instruction at jekyll website. My OS is Catalina 2019, I couldn't install Xcode, which is not compatible yet!
You have to set the path in your .bash_profile to make sure that it initializes the rbenv when you restart your terminal.
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
then
$ rbenv version
2.2.3 (set by /Users/mislav/.rbenv/version)
$ rbenv shell
rbenv: no shell-specific version configured
hope that help!
Here is the (only?) reliable and simple way to install Jekyll on macOS
Install UTM
Install Ubuntu Server
Install Jekyll using Ubuntu instructions at https://jekyllrb.com/docs/installation/ubuntu/
Forward port 22 in the VM settings (22->localhost->22)
Use VS Code on the macOS host
Install Remote SSH
Connect to USER#localhost
Drag and drop the folder on Mac into VS Code (this transfers files to remote)
Enable port forwarding for 4000 (bottom bar on VS Code)
Work on your website
Right click on your website on the file explorer and click download
If you have not done these steps, you might be delighted by:
Ubuntu imports your public SSH key from GitHub
VS Code magically handles file transfer in and out
VS Code magically installs your VS Code extensions onto the remote server and allows file search on the remote host

Resources