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

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

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

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

Q&A

解決済

2回答

3414閲覧

vagrantコマンドを実行するとエラー(Psych::SyntaxError)となる

Ms.yy

総合スコア83

Vagrant

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

0グッド

0クリップ

投稿2019/08/05 10:58

編集2019/08/05 12:15

前提・実現したいこと

vagrantコマンドが実行出来る様になる

vagrant up
vagrant ssh
vagrant destroy
vagrant global-status
などのvagrantコマンドを実行すると同じエラーが出てしまいます。

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

下記はdestroyコマンドを実行した場合の例です。
※他のvagrantコマンドを使っても同じエラーとなります。

nekonoMacBook-Air:homestead neko$ vagrant destroy /opt/vagrant/embedded/lib/ruby/2.4.0/psych.rb:377:in `parse': (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1 (Psych::SyntaxError) from /opt/vagrant/embedded/lib/ruby/2.4.0/psych.rb:377:in `parse_stream' from /opt/vagrant/embedded/lib/ruby/2.4.0/psych.rb:325:in `parse' from /opt/vagrant/embedded/lib/ruby/2.4.0/psych.rb:252:in `load' from /Users/neko/app/Homestead/Vagrantfile:29:in `block in <top (required)>' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/v2/loader.rb:37:in `load' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/loader.rb:126:in `block (2 levels) in load' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/loader.rb:119:in `each' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/loader.rb:119:in `block in load' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/loader.rb:116:in `each' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/config/loader.rb:116:in `load' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/vagrantfile.rb:29:in `initialize' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/environment.rb:792:in `new' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/environment.rb:792:in `vagrantfile' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/environment.rb:973:in `process_configured_plugins' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/lib/vagrant/environment.rb:178:in `initialize' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/bin/vagrant:145:in `new' from /opt/vagrant/embedded/gems/2.2.5/gems/vagrant-2.2.5/bin/vagrant:145:in `<main>'

###vagrantfile

# -*- mode: ruby -*- # vi: set ft=ruby : require 'json' require 'yaml' VAGRANTFILE_API_VERSION ||= "2" confDir = $confDir ||= File.expand_path(File.dirname(__FILE__)) homesteadYamlPath = confDir + "/Homestead.yaml" homesteadJsonPath = confDir + "/Homestead.json" afterScriptPath = confDir + "/after.sh" customizationScriptPath = confDir + "/user-customizations.sh" aliasesPath = confDir + "/aliases" require File.expand_path(File.dirname(__FILE__) + '/scripts/homestead.rb') Vagrant.require_version '>= 2.2.4' Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| if File.exist? aliasesPath then config.vm.provision "file", source: aliasesPath, destination: "/tmp/bash_aliases" config.vm.provision "shell" do |s| s.inline = "awk '{ sub(\"\r$\", \"\"); print }' /tmp/bash_aliases > /home/vagrant/.bash_aliases && chown vagrant:vagrant /home/vagrant/.bash_aliases" end end if File.exist? homesteadYamlPath then settings = YAML::load(File.read(homesteadYamlPath)) elsif File.exist? homesteadJsonPath then settings = JSON::parse(File.read(homesteadJsonPath)) else abort "Homestead settings file not found in #{confDir}" end Homestead.configure(config, settings) if File.exist? afterScriptPath then config.vm.provision "shell", path: afterScriptPath, privileged: false, keep_color: true end if File.exist? customizationScriptPath then config.vm.provision "shell", path: customizationScriptPath, privileged: false, keep_color: true end if Vagrant.has_plugin?('vagrant-hostsupdater') config.hostsupdater.aliases = settings['sites'].map { |site| site['map'] } elsif Vagrant.has_plugin?('vagrant-hostmanager') config.hostmanager.enabled = true config.hostmanager.manage_host = true config.hostmanager.aliases = settings['sites'].map { |site| site['map'] } end if Vagrant.has_plugin?('vagrant-notify-forwarder') config.notify_forwarder.enable = true end end

試したこと

vagrantのアンインストール後の再インストール

エラー部分であるhomestead.yaml3行目の見直し

###app/Homestead/resoureces/Homestead.yaml

--- ip: "192.168.10.10" memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/code to: /home/vagrant/code sites: - map: homestead.test to: /home/vagrant/code/public databases: - homestead features: - mariadb: false - ohmyzsh: false - webdriver: false # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp

###app/Homestead/Homestead.yaml

-- ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/app to: /home/vagrant/Code sites: - map: homestead.test to: /home/vagrant/Code/Laravel/public databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp ~ ~ ~ ~ memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/code to: /home/vagrant/code sites: - map: homestead.test to: /home/vagrant/code/public databases: - homestead features: - mariadb: false - ohmyzsh: false - webdriver: false # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: ~/app to: /home/vagrant/Code sites: - map: homestead.test to: /home/vagrant/Code/Laravel/public databases: - homestead # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp# protocol: udp

補足情報(FW/ツールのバージョンなど)

mac os

先ほどまでvagrantは実行できてましたが、laravelの新規プロジェクトを一から生成しようと違うディレクトリに移動した際にvagrantが実行できないことに気づきました。

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

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

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

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

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

guest

回答2

0

自己解決

vagrantをアンインストール後、インストールしたら無事正常に動作しました
アンインストールの際、以前はyesと答えてしまったため正常にアンインストールしませんでした。

投稿2019/08/06 13:37

編集2019/08/06 21:19
Ms.yy

総合スコア83

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

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

0

Vagrantfileの文法が間違っているのでは?
差し支えなければVagrantfileのファイルを追記してください


追記を受けて

from /Users/neko/app/Homestead/Vagrantfile:29:in block in <top (required)>'`
と書いてあり
29行目には

settings = YAML::load(File.read(homesteadYamlPath))

と書いてあって

エラーが

``parse': (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1`

なので

confDir = $confDir ||= File.expand_path(File.dirname(__FILE__)) homesteadYamlPath = confDir + "/Homestead.yaml"

に存在するyamlファイルのline 3 column 1 SyntaxErrorがあります

投稿2019/08/05 11:00

編集2019/08/05 11:19
mikkame

総合スコア5036

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

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

Ms.yy

2019/08/05 11:10

vagrantfile追記致しました。
Ms.yy

2019/08/05 11:12

ちなみに、こちらのファイルは生成してから一度も編集などはしておりません
退会済みユーザー

退会済みユーザー

2019/08/05 11:22

無意識なものであれ編集はしたのだと思いますよ。
mikkame

2019/08/05 11:30

あとタグがlaravelだけなのは不適切では? Vagrant Homsted Laravel ぐらいではないでしょうか
Ms.yy

2019/08/05 11:52

すみません、laravelの学習中に出てきた問題でしたのでタグにlaravelとつけさせてもらいました????
Ms.yy

2019/08/05 11:57

homestead.yamlの3行目を見ましたが、それらしいエラーである空白部分を改め半角スペースに置き換えましたがエラー変わらずでした。
mikkame

2019/08/05 12:29

どのyamlが問題を起こしているかは分かりませんが 3memoryっておかしくないですか?
Ms.yy

2019/08/05 12:41

3memoryですか????? 一応両方のファイルの上から3行目のmemoryと記載されてる部分で間違ってるとしたら空白の部分しかないと思い半角で再び入れないしましたがダメでした
mikkame

2019/08/05 12:44

あとvagrantファイルの中身的にはvagrantファイルと同じディレクトリにあるyamlって書いてある気がするんですが存在しませんか?
Ms.yy

2019/08/05 12:52

app/homestead/vagrantfileと同じ階層にhomestead.yamlが存在してありました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問