質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Q&A

解決済

2回答

12824閲覧

Vagrant statusでnot createdになってしまいます

koheok

総合スコア6

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

0グッド

0クリップ

投稿2017/04/29 04:48

###前提・実現したいこと
windows10/Vagrant 1.9.4/VirtualBox 5.1.18
よりvagrant、virtualboxの使用を試みていますがうまくいきません。
下記のエラーメッセージが表示されてしまいます。

statusをrunningにしたいのですが、できません。

###発生している問題・エラーメッセージ
vagrant up時

Bringing machine 'default' up with 'virtualbox' provider... ==> default: Importing base box 'bento/centos-6.8'... C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.6.3/lib/childprocess/windows/process_builder.rb:43:in `join': inc ompatible character encodings: Windows-31J and UTF-8 (Encoding::CompatibilityError) from C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.6.3/lib/childprocess/windows/process_builder.rb:43:i n `create_command_pointer' from C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.6.3/lib/childprocess/windows/process_builder.rb:27:i n `start' from C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.6.3/lib/childprocess/windows/process.rb:70:in `launc h_process' from C:/HashiCorp/Vagrant/embedded/gems/gems/childprocess-0.6.3/lib/childprocess/abstract_process.rb:82:in `star t' from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/util/subprocess.rb:141:in `block in execu te' from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-1.9.4/lib/vagrant/util/safe_chdir.rb:26:in `block (2 levels ) in safe_chdir' from C:/HashiCorp/Vagrant/embedded/gems/gems/vagrant-

↑のようなものが倍ほどつづきます。(字数制限のため、前半のみ記載しています。

vagrant status時

default not created (virtualbox) The environment has not yet been created. Run `vagrant up` to create the environment. If a machine is not created, only the default provider will be shown. So if a provider is not listed, then the machine is not created for that environment.

###該当のソースコード
vagrantfile

# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://atlas.hashicorp.com/search. config.vm.box = "bento/centos-6.8" # Disable automatic box update checking. If you disable this, then # boxes will only be checked for updates when the user runs # `vagrant box outdated`. This is not recommended. # config.vm.box_check_update = false # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # NOTE: This will enable public access to the opened port # config.vm.network "forwarded_port", guest: 80, host: 8080 # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine and only allow access # via 127.0.0.1 to disable public access # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1" # Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.10" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network "public_network" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. # config.vm.synced_folder "../data", "/vagrant_data" # Provider-specific configuration so you can fine-tune various # backing providers for Vagrant. These expose provider-specific options. # Example for VirtualBox: # # config.vm.provider "virtualbox" do |vb| # # Display the VirtualBox GUI when booting the machine # vb.gui = true # # # Customize the amount of memory on the VM: # vb.memory = "1024" # end # # View the documentation for the provider you are using for more # information on available options. # Define a Vagrant Push strategy for pushing to Atlas. Other push strategies # such as FTP and Heroku are also available. See the documentation at # https://docs.vagrantup.com/v2/push/atlas.html for more information. # config.push.define "atlas" do |push| # push.app = "YOUR_ATLAS_USERNAME/YOUR_APPLICATION_NAME" # end # Enable provisioning with a shell script. Additional provisioners such as # Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the # documentation for more information about their specific syntax and use. # config.vm.provision "shell", inline: <<-SHELL # apt-get update # apt-get install -y apache2 # SHELL end

###試したこと
google等で検索し、UUIDによる紐づけができていないかもとのことで、
echo xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > .vagrant/machines/default/virtualbox/id
とすると、idファイルができるのですが、そこからvagrant upすると、idファイルが消えてしまい、結局statusがnot createdのままです。

###補足情報(言語/FW/ツール等のバージョンなど)
biosは有効であることを確認しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Vagrantfileがあるフォルダへのパスに「日本語(漢字、平仮名、片仮名)」は含まれていませんか("C:\データ\centeos"など)?漢字、平仮名とかです。もし含まれているのであれば、パスが英数字のみ("C:\Data\centos"など)になるような場所に移してから、実行してください。

よくある現象として、あるWindowsのバージョンで初回起動時に「あなたの名前を入力してください」という所で日本語を入力すると、ユーザーのホームフォルダーのパスが日本語になります。例えば、「寺帝留」とすると、ユーザー名「寺帝留」となり、ホームフォルダーが"C:\Users\寺帝留"となります。このまま、ドキュメント("C:\Users\寺帝留\Documents")に各ファイルを置いて、Vagrantを使おうとすると、incompatible character encodings: Windows-31J and UTF-8 (Encoding::CompatibilityError)というエラーが発生し、失敗する場合があります。こういう場合は、Cドライブ直下に英数字のみフォルダを作成し、その中で操作してください。

【補足:原因の詳細】
VagrantはRubyで動作しますが、RubyはデフォルトでWindows環境のエンコード(文字コード)を使います。日本語のWindows環境はデフォルトでWindows-31Jというエンコードです。しかし、Vagrantの内部処理の一部がUTF-8になっているため、エンコードが異なると言うことでエラーになります。英数字のみの場合はWindows-31JとUTF-8は全く同じになるため問題は起きません。問題が起きるのは、フォルダへのパスにWindows-31JとUTF-8で異なる物になる「日本語」等が含まれるときです。なお、Vagrantを使用する前にchcp 65001でUTF-8を使うようにすると、回避できる場合もあります(Vagrantのバージョンや状況によってはうまくいかない場合もあります)。


【追記】

どうやら、Vagrantのユーザーごとの設定があるファイルに日本語パスが含まれるても駄目なようです。

日本語ユーザー名でVagrant upできない場合 - たんしおどっとねっと

上記参考に回避策を試してみてください。

もし、これでも駄目だら、アカウントを作り直すことをオススメします。(他にも、日本語ユーザー名は問題が出る場合がありますので)

投稿2017/04/29 05:32

編集2017/04/29 11:28
raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koheok

2017/04/29 06:57

PS C:\MyVagrant\MyCentOS> vagrant up で試みましたが、うまくいきませんでした。vagrant statusの表記も変わらずです。
raccy

2017/04/29 11:30

追記しました。どうやら、Vagrantfileがあるフォルダだけでなく、Vagrantの設定が保存される.vagrant.dも関係があるようです。追記のリンク先にある回避策を参考にしてみてください。
guest

0

自己解決

ユーザーアカウントを英字表記にしなおすと、うまくいきました。ありがとうございました。

投稿2017/05/01 01:23

koheok

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問