読者です 読者をやめる 読者になる 読者になる

demandosigno

なんとか生きていけるように

Vagrant で rubygems エラー

Vagrant

C:/HashiCorp/Vagrant/embedded/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file
-- vagrant-share/helper/api (LoadError)
    from C:/HashiCorp/Vagrant/embedded/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'

というようなエラーが出るようになった。ググると数日前から報告されているようです。 私の環境は Widows10Home x64 VirtualBox5.1.20 Vagrant1.9.4 です。

github.com

読んでいったところ

$ vagrant plugin install vagrant-share --plugin-version 1.1.8

で直るよ。とのことだったので、vagrant-share –plugin-version 1.1.8 をインストールし、Vagrant up してみたのですがまた別のエラーが出ました。

C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/transport/server_version.rb:54:in `readpartial': An established connection was aborted by the software in your host machine. 
(Errno::ECONNABORTED)
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/transport/server_version.rb:54:in `block (2 levels) in negotiate!'
        from C:/HashiCorp/Vagrant/embedded/gems/gems/net-ssh-4.1.0/lib/net/ssh/transport/server_version.rb:52:in `loop'

もう少し読んでいってみたところ、下記に

github.com

Those who want to fix it now in your computer without waiting for 1.9.5 can replace 3 files changed in #8526 in vagrant installation directory.
For example in windows, those files are located in

C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.4/templates/locales/en.yml
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/errors.rb
C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.4/plugins/communicators/ssh/communicator.rb
replace them with new en.yml, errors.rb and communicator.rb

Then you are good to go. It worked on my Windows 10 machine. One gotcha is in Windows, you have to change folder permission of the directory to edit or create new files.

と書いてありました。

https://raw.githubusercontent.com/chrisroberts/vagrant/2acded113c8f8915038b6230df1acfac43332c0c/templates/locales/en.yml

https://raw.githubusercontent.com/chrisroberts/vagrant/2acded113c8f8915038b6230df1acfac43332c0c/lib/vagrant/errors.rb

https://raw.githubusercontent.com/chrisroberts/vagrant/2acded113c8f8915038b6230df1acfac43332c0c/plugins/communicators/ssh/communicator.rb

を右クリックしてファイルを3つとも保存し、HashiCorp 以下のそれぞれのディレクトリにある元のファイルを置き換える。これで再度 Vagrant up してもエラーは出なくなった。

github.com

Vagrant 1.9.5 で修正予定のようです。