LoginSignup
7
6

More than 5 years have passed since last update.

Vagrantのインストール(Windows編)

Last updated at Posted at 2016-07-21

インストールするもの

Vagrantを動作させるのに必要なものをインストールします。
具体的には以下をインストールします。

  • VirtualBox
  • Vagrant
  • OpenSSH
  • rsync

※この記事では64ビット版Windowsを前提としています。

VirtualBoxのインストール

https://www.virtualbox.org/wiki/Downloads
から「Windows hosts」のリンクをクリックし、ファイルをダウンロード、実行してインストールします。

Vagrantのインストール

https://www.vagrantup.com/downloads.html
からWindowsのリンクをクリックし、ファイルをダウンロード、実行してインストールします。

ssh,rsyncインストール

Windows用のOpenSSH,rsyncを探すと、バージョンが古いことがあるため何からのパッケージ管理ツールからの導入がおすすめです。
MSYS2やCygwinを導入済みであればこれらのパッケージ管理からインストールします。
このようなパッケージ管理を導入していない場合は、scoopがおすすめです。
各パッケージ管理ツールでの導入方法を説明します。

MSYS2

導入やパッケージ管理については他の記事を参考にしてください。

次のコマンドでOpenSSH,rsyncをインストールします。
pacman -S openssh rsync

MSYS2のシェルからはvagrantが見えないため、C:\HashiCorp\Vagrant\binを環境変数に追加するか、Windowsの環境変数を継承するようにします。次の記事を参考にしてください。

Cygwin

https://cygwin.com/
からsetup-x86_64.exeのリンクをクリックし、ファイルをダウンロード、実行します。

Root Directoryは
C:\cygwin64
を指定します。
Download Siteはなるべく日本のサーバ(~.jp)を選択します。

Select Packages画面でインストールするパッケージを選択します。
Searchに入力して検索し、目的のパッケージのBinにチェックを入れ、「次へ」をクリックするとインストールされます。

次のパッケージを選択します。

  • openssh
  • rsync

インストール後に環境変数PATHに追加します。
C:\cygwin64\bin
Windowsを再起動します。

scoop

scoopの説明、導入については他の記事を参考にしてください。

次のコマンドでOpenSSH,rsyncをインストールします。
scoop install openssh rsync

※2017年9月15日現在では、scoop install opensshでインストールされるバージョンがとても古くなっています。
New OpenSSH 7.1p1 does not work in PowerShell #638
代わりにwin32-openssh(scoop install win32-openssh)をインストールするか
gitも使う場合はgit-with-openssh(scoop install git-with-openssh)をインストールします。
※opensshからgit-with-opensshに乗り換えて、gitコマンドでerror: cannot spawn C:\Users\name\scoop\apps\openssh\current\bin\ssh.exe: No such file or directoryというエラーが出る場合は環境変数GIT_SSHを削除します。

インストールの確認

コマンドプロンプトでバージョンを確認する以下のコマンドを実行します。

vagrant --version
ssh -V
rsync --version

次のような表示が得られます。

Vagrant 2.0.0
OpenSSH_7.5p1, OpenSSL 1.0.2k 26 Jan 2017
rsync version 3.1.2 protocol version 31

トラブルシューティング

Vagrant 1.9.4

vagrant up でErrno::ECONNABORTEDが発生する

Vagrant up forces shutdown of VM #8520

リンク先の通りに3つのファイルを置き換えると解消されます。

  • 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

Vagrant 1.9.3

vagrant up でエラーが発生する

ポートマッピング設定を行っているとエラーが発生し、起動に失敗します。

対策としては、Vagrant 1.9.2に戻すか、ポートマッピング設定にhost_ipを追加します。

例えば、次のようなポートマッピング設定に
config.vm.network "forwarded_port", guest: 8080, host: 8080
次のようにhost_ipの記述を追加します。
config.vm.network "forwarded_port", guest: 8080, host: 8080, host_ip: "127.0.0.1"

参考:vagrant up fail in 1.9.3 on windows10

rsyncでのエラー

undefined method `gsub!' for nil:NilClass (NoMethodError)

Vagrant 2.0.0で発生。
Split out cygwin path and ensure bin exists #8972

このC:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-2.0.0\lib\vagrant\util\platform.rbへのパッチを適用する。

rsync: change_dir "/c/path/to/project" failed: No such file or directory (2).

vagrant upvagrant rsync を実行するとエラーが発生する。
Windows + vagrant 1.8.1 + rsync 3.1.1 で発生する、config.vm.synced_folderの失敗の直し方

UndefinedConversionError

io.rb:32:in `encode': "xxx" from Windows-31J to UTF-8 (Encoding::UndefinedConversionError)
Windows + Vagrant + Rails の比較的快適な環境を作る
io.rbを書き換えます。

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6