「homestead」という名前のVirtualBoxマシンはすでに存在します


112

Homestead 2.0以降、Homestead Laravelは機能していません

「homestead init」がプロジェクトディレクトリではなくmydirectory / .homesteadにHomestead.yamlファイルを作成する理由がわかりません。Homestead upまたはVagrant upは次のメッセージを作成します

「homestead」という名前のVirtualBoxマシンはすでに存在しています。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
A VirtualBox machine with the name 'homestead' already exists.
Please use another name or delete the machine with the existing
name, and try again.

1
これは、VagrantやVirtualBoxに通知せずにファイルシステムから直接削除した場合に発生する可能性があります。試してみてくださいVBoxManage list vmsと抹消する必要がゴースト/孤児/ゾンビのエントリがあるかどうかを確認します。
MarkHu

ホームステッド固有の回答については、@ TheSteedからの回答を
John_911

回答:


276

を使用vboxmanageしてVMのIDを取得することで解決しました。

$ vboxmanage list vms
"my-vm" {c700b8b6-b766-4638-871b-736b44b7db18}

目的のVMのID(c700…db18文字列)をのコンテンツにコピーします~/.vagrant/machines/default/virtualbox/id。ファイルを保存して実行vagrant upすると、破壊せずにVMが機能します。


22
あなたの答えは受け入れられるべきです!他の人が提案したように、マシンを破壊することなく問題を解決しました
Nisic Jovan '26

17
ただ、ノートに、あなたは異なっ経由であなたのボックスという名前を付けた場合というdefine(私のように)、そしてパスができなくなります../default/ 、その:.vagrant/machines/<box name>/virtualbox/id。#利益!
Ian Vaughan、

7
魅力のように働いた。なぜ私のVMのIDが突然変化したのか、そしてこれがまったく必要だった理由に興味があります。
Chris

7
私の開発環境では、idファイルは同じパスにありましたが、プロジェクトのルートにありました。project-root / .vagrant / machines / default / virtualbox / id
Guillermo Maschwitz、

23
私にとって.vagrantフォルダがでませんでした~/が、屋敷のインストールフォルダ(あなたが実行つまりフォルダ内vagrant upから)
andrewtweber

75

私にとって、マシンはVirtualBoxアプリケーションでアクティブなVMとして表示されませんでした。修正するには、これを行わなければなりませんでした:

vagrant global-status

これにより、破棄する必要があったマシンのIDがわかりました。IDを使用して、次のコマンドを実行します。

vagrant destroy {VM ID}

実際にマシンを破壊するには、sudoで実行する必要がありました。その時点で、私は走ることができました

vagrant up


ホームステッドボックスが破損していて、まだ実行されていない場合は、これが答えです。VirtualBoxを実行しているUbuntu 14.02で確認済み。
ディランピアス

実行中の
vagrant

コマンドvagrant destroy vm_idは同じディレクトリ内から実行する必要があります。
Amr


41

次のメッセージから:

vm_name」という名前のVirtualBoxマシンはすでに存在しています。別の名前を使用するか、既存の名前のマシンを削除して、再試行してください。

コマンドラインから現在実行中の仮想マシンを一覧表示しました。

VBoxManage list vms

結果:

"vm_name" { 8ba467b7-da96-4f68-9bf8-671dd6f0d007 }

次に、問題のある仮想マシンの削除に進みました:

VBoxManage unregistervm 8ba467b7-da96-4f68-9bf8-671dd6f0d007 --delete

8
コマンドラインからVMを削除する方法を示す唯一の答え
WorldSEnder

1
VirtualBox VMがまだ実行中の場合、これは機能しないことに注意してください。VMをシャットダウンしないと、「VMがロックされているため」コマンドが失敗します。
Noah Sussman

4
はい、コマンドはpoweroffになります。私のために機能したものの概要:vboxmanageリストvms、vboxmanage controlvm <id> poweroff、vboxmanage unregistervm <id> --delete
dvsander

27

私はこれでパーティーに少し遅れましたが、この問題を抱えている他の人にとっては、SergioPeluzziが最も近くなりましたが、これで葉巻を手に入れませんでした:

vb.name = settings ["name"] = "homestead"行を探し、 "homestead"を "HOMESTEAD"と "vóilá"に変更しました

行は実際には次のとおりです。

vb.name = settings["name"] ||= "homestead"

settings ["name"]というビットからわかるように、名前フィールドをHomestead YAMLファイルに追加するだけです。

memory: 2048
cpus: 1
provider: virtualbox
name: my-sexy-homestead-box

6
複数のHomesteadインスタンスを実際にインストールして使用する場合、これが最良の答えです。
lintuxvi 2017年

1
@lintuxviに同意します。これは、複数のHomesteadインスタンスを使用している場合の最良の答えです
Abdul Rahman A Samad

1
重要なのはname: my-sexy-homestead-box-ありがとう!
Artistan

遠くでベストな答え!
sdespont

16

この編集を解決しました /Homestead_folder/scripts/homestead.rb

vb.name = settings["name"] = "homestead"行を探しhomesteadHOMESTEAD「vóilá」に変更して、私にとってはうまくいった。


これは私が見た中で最高の答えです。
Ousmane Traore

これは機能します。このファイルですべてのレコードvb.name = settings ['name']を検索し、それに従って変更します
ottz0


14

Homestead.yamlを編集して新しい名前を追加しました

ip: "192.168.10.10"
memory: 2048
cpus: 4
provider: virtualbox
name: my-new-homestead-box-name

これが正しい方法です。
homestead.rb

別の家屋敷を走らせようとしていた。こんなに簡単だとは思っていませんでした。Homestead.yamlに名前を追加するだけ
Apit John Ismail

1
これは本当に受け入れられる答えであり、最も簡単に実装できるはずです。
キャスパーウィルクス

9

私のプロジェクトに古い.vagrantディレクトリがあり、それがエラーの原因でした:)

これで問題が解決しない場合は、VirtualBoxを開いてすべてのVirtualBoxを削除し、再試行することをお勧めします。


2
それだけでした。「vagrant box update」を実行した後、その.vagrantディレクトリを削除してvagrantを再実行する必要がありました。
ecairol 2014年

8

今日も同じ問題がありました。数時間かけてソリューションを見つけます。何らかの理由で既存の仮想マシンのリストが見つからない場合は、ターミナルに入力します

sudo virtualbox

これにより、GUIでVirtual Boxが実行されます。VMの完全なリストが表示され、そこから管理できます。「virtualbox」と入力しても何も表示されません。root(管理者)である必要があります。

先端のためのmightyspajに感謝します。


1
OS Xで通常のvirtualboxアプリを使用すると、すでに存在していると言われても、リストにVMが表示されませんでした。次に、sudo virtualboxと入力すると、VMのヒープ全体が表示され、問題は修正されました。ありがとうございました。
ドウェインチャリントン

VirtualBoxでsudoを使用しないでください。権限
Wistar

7

「homestead destory」および「vagrant destroy」を実行した後でも、同じエラーメッセージが表示されました。あなたと同じように、私はVirtualBoxプロバイダー、浮浪者、および家屋敷を使用していました。これが私がしたことです:

  1. VirtualBox GUIを開きました。「ホームステッド」がVMとして表示されますが、削除できず、ボタンがグレー表示されます。
  2. OSからログアウトし、再度ログインして、VirtualBoxを再度開きました。ステータスは「中止」になり、削除できます。
  3. にいくつかの残留ファイルがあった~/VirtualBox\ VMs/homesteadため、実行しましたrm -r /Users/gabriel/VirtualBox\ VMs/homestead
  4. 「ホームステッドアップ」を実行できるようになりました

6

virtualBoxを開いて、以前に作成したhomestead vmを削除しました。それは役に立ちました。


5

浮浪者ボックスリスト

浮浪者箱はlaravel / homesteadを削除します

浮浪者のグローバルステータス

浮浪者はnameOfYourBoxを破壊します

VirtualBoxを開き、ホームステッドのすべてのアイテムを削除します

浮浪者



3

古いボックスを削除したくない場合があります。昨日、古いVagrantが壊れている可能性があります。VagrantとVirtualboxを更新しましたが、フォルダのマッピングが機能しませんでした。新しいボックスを実行したいのですが、このエラーが発生しました。

(いくつかのバックアップを実行したかったため)古いボックスを削除したくありませんでしたが、新しいボックスを実行したいと思いました。ソリューションはVirtualBoxを実行していたため、Homesteadマシンを右クリックして[設定]を選択し、名前をからhomesteadに変更しましたhomestead_old

その後、ホームステッドをインストールできましたが、この古いマシンがあり、これを実行して必要なバックアップを作成することもできました。

VirtualboxでHomesteadの名前を変更


3

Windowsユーザーの場合は、必ずC:\Users\<Username>\VirtualBox VMs\homesteadフォルダーを削除してください。ホームステッドという名前のフォルダがまだある場合、のアクションはvagrant up完了しないため


1
私の場合、homesteadとhomestead-7の2つのフォルダーがありました。両方を削除した後、問題は解決しました。ありがとう!
eleftrik

3

これはどれも私にとってはうまくいきませんでした。古い開発マシンを使用していた

私が試みました:

  1. vagrant global-status> id必要のないものを破壊するか、競合しているものと一致させます

  2. virtualboxを開き、不要なファイルまたは競合しているファイルを削除+削除

機能したもの:

  • ~/.vagrant/machines/または~/.vagrant.d/boxesフォルダを探します。私の場合、競合するvmと、いくつかの理由で手順1と2で削除されなかった古い残りのvmマシンの束が含まれていました。

  • これらをクリアした後、すべてが再び正常に機能しました!


これは、競合するVMを削除または消去しても問題がない場合に最適です。フォルダが~/.vagrant.d/boxes/@ wired00であるため、この回答を修正する必要があります
lintuxvi

@lintuxviが追加されました:)
ワイヤード00

ありがとう!私のために問題を解決しました!
VivekP

2

マシンを維持したい場合は、破壊して再作成せずに次の手順で問題を解決できます。(私はOS X El Captain、Vagrant 1.8.1で作業しています)

Homesteadをデバッグモードで実行します

homestead --debug up

次のような出力を探します。

INFO machine:Initializing machine:default INFO machine:-Provider:VagrantPlugins :: ProviderVirtualBox :: Provider INFO machine:-Box:#INFO machine:-Data dir:/Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/ virtualbox

データdirは、あなたにとって興味深いパスです。

その後 vboxmanage list vms

"homestead" {0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c} "settler_default_1447385930122_73498_1474294682778_13108" {93ecb93f-f159-4406-a384-5312b4d3ab34}

前のコマンドで見つけたパスのidファイルを編集します

vi /Users/YOUR_HOME_DIR/Workspace/Homestead/.vagrant/machines/default/virtualbox/id

そのファイルのコンテンツを、修正するVMのIDで置き換えます。このシナリオでは、

0e8438b9-4a67-4fb1-80cb-2c62cf04ab5c

今してみてください

homestead up

VMが起動を開始します。動作する可能性があります、またはssh認証に問題がある可能性があります

default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Authentication failure. Retrying...     default: Warning: Authentication failure. Retrying...

これを修正するには、Homestead SSH設定を確認してください

homestead ssh-config

あなたは次のようなものを取得する必要があります

Host default HostName 127.0.0.1 User
vagrant Port 2222 UserKnownHostsFile / dev / null StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/pryznar/.vagrant.d/insecure_private_key"
IdentitiesOnly yes LogLevel FATAL

IdentityFileファイルを編集

/Users/YOUR_HOME_DIR/.vagrant.d/insecure_private_key

Homestead.ymlを確認してください

cat /Users/YOUR_HOME_DIR/.homestead/Homestead.yaml

次に、パスをキーkeysの下のファイルにコピーし、そのファイルから秘密キーをコピーします

cat ~/.homestead/ssh/id_rsa

最後のステップは、/ Users / YOUR_HOME_DIR / .vagrant.d / insecure_private_keyの秘密鍵を、先ほどコピーしたものに置き換えることです

ここでラングホームステッドをもう一度試してみてください。

homestead up

警告が出ましたが、今のところ問題なく動作しています

==>デフォルト:警告:コマンドラインインターフェースでパスワードを使用すると、安全でない場合があります。==>デフォルト:エラー1045(28000):ユーザー 'homestead' @ 'localhost'のアクセスが拒否されました(パスワード:YESを使用)SSHコマンドがゼロ以外の終了ステータスで応答しました。Vagrantは、これがコマンドが失敗したことを意味すると想定しています。このコマンドの出力は、上記のログにあるはずです。出力を読んで、問題の原因を特定してください。



1

私の場合、次の記事が解決策を提供します。問題の原因となっているパス/ var / root / VirtualBox VMs /内にhomesteadという名前のフォルダーがありました。このフォルダー(rm -r homestead)が削除されると、問題は解決しました。このパスを表示できない、またはアクセスできない場合は、ターミナルウィンドウで次のコマンドを実行します。

$ sudo -s 
$ cd /var/root/VirtualBox\ VMs

そして、ホームステッドフォルダーの削除に進みます。


1

次のエラーが発生しました:

エラー

A VirtualBox machine with the name 'homestead-7' already exists.
Please use another name or delete the machine with the existing
name, and try again.

ソリューション

  • VirtualBox VMSフォルダーを見つけます。私の場合は~/VirtualBox VMs
  • フォルダ内の要素をリストします lsコマンドで、仮想マシンがそこにあるかどうかを確認します
  • マシンの名前のフォルダーを削除します。私の場合はhomestead-7です。
  • vagrant upホームステッドフォルダーでコマンドを再実行します。

それがすべてです。それが役に立てば幸いです。それが私の解決策でした。

よろしく!


0

数時間のトラブルシューティングの後、この小さな詳細について誰も言及しなかったので、他には何もうまくいきませんでした。

インストール時の権限によっては、管理者としてvirtualboxを実行する必要がある場合があります。仮想マシンのリストに迷惑なボックスが表示されたのは、これを行ったときだけです。

次にhomestead、virtualboxから名前が付けられた仮想マシンを削除し、問題は解決しました。


0

WindowsでHomesteadを使用している場合は、Oracle VM VirtualBoxを開いてVMを削除するだけhomesteadです。


0

VagrantはVirtualBox(デフォルトのプロバイダーの場合)に依存しているため、VMをプロビジョニングする前に既存の環境をチェックします。

次のコマンドを実行しています。

VBoxManage list vms

同じホスト名のVMが見つかると失敗します。

あなたはそれをデバッグすることができます:

vagrant --debug up

正確な理由を見つけるために。


解決

異なるフォルダーで複数のVMを使用する予定の場合は、config.vm.hostname(場合によってconfig.vm.provider(name)は)で変更する必要があります。Vagrantfileする場合は、一意にするためにで。または単に削除して、VagrantがVMごとに異なる名前を割り当てるようにします。

そうでない場合は、次のコマンドを実行して競合する前のVMをシャットダウンして登録を解除します。

VBoxManage controlvm NAMEOFVM poweroff
VBoxManage unregistervm NAMEOFVM --delete

を再実行しますvagrant up

ディレクトリの名前変更に失敗した場合(を見逃したため--delete)、宛先フォルダの名前を変更するか削除します。次に例を示します

rm -fr ~/"VirtualBox VMs/NAMEOFVM"

もう一度やり直してください。


この問題は次の問題に関連している可能性があります。GitHubの問題#2969-以前に実行されたVMが検出されない


0

私の場合、そのエラーメッセージ以外に、VMが「すでに存在する」ことを示すものは何もありませんでした。VirtualBox UIには何もない、「vboxmanage list vms」によって返されるもの、「vagrant global-status」を通じて何もない、「。vagrant.d \ boxes」などに存在しなかった。これを解決するには、VM VirtualBox Managerで同じ名前の新しいVMを手動で作成し(「新規」ボタンを使用して+すべてのデフォルトを受け入れ)、それを削除します(右クリック>削除)。その後、「浮浪者」は期待どおりに機能しました。


0

今日も同じ問題がありました。Windows10。最近Homesteadを更新したので、おそらくエラーが原因でした。私はそれをすべて試してみました、destroyup、削除、フォルダ、何でも。を実行しようとするとvagrant up、この種のエラーが表示されていました。ソリューション?更新後、Homesteadがプロジェクトフォルダー名でボックスに名前を付けていることに気付きました。Homestead.yamlにはそのすべての情報があります。私はそのHomestead Windows構成vendor\\bin\\homestead makeを実行し、後でそれらがvagrant up(すべてがクリーンであることを確認する前に)実行し、マシンが現在起動しているように見えます。=)必要に応じて試してください。


0

--forceボックスの後、指定した名前の前に追加します。


2
してください編集し、それは、どのように何をするか、あなたはこのソリューションが動作すると思い理由を説明するためにあなたの答えを。また、あなたの英語を正式化することは価値があります(ただし、おそらく英語が第一言語ではないことを理解しています)。
デビッドはモニカを

0

既存のデフォルトVMの名前を変更する

免責事項

次の手順はVMを破壊し、私のようなdesting-environmentでのみ適している可能性があります。本番環境の場合は、ここで説明するように関連付けを修復することを検討してください

を使用して既存のVMのデフォルト名を上書きした後、この問題が発生しました

Vagrant.configure("2") do |config|
  config.vm.define :ubuntu_test

VirtualBox名も設定されています(初心者として、Vagrandもこの名前を使用すると想定していました)。

config.vm.provider "virtualbox" do |vb|
     vb.name = "Ubuntu-Test"
end

追加することでconfig.vm.define、ベイグラントがこれ以上ベイグラントファイルでさえ以来、VirtualBoxのVMを関連付けていないようだvagrant destroy -fと言うVM not createdが、vagrant upこのエラーを投げます

「Ubuntu-Test」という名前のVirtualBoxマシンはすでに存在しています。

それらのゾンビVMを削除するには
  1. VMが実行中の場合は、最初に停止しますvboxmanage shutdown <VMName>(ここでは名前はですUbuntu-Test)。
  2. 実行してIDを取得する vboxmanage list vms
  3. 消して: vboxmanage unregistervm <Id> --delete
  4. これで、VMを使用して再作成できます vagrant up
  5. を使用するvagrant global-status --pruneと、新しい名前が表示されます

0

私にとって、idファイルは以下の場所にありました。D:\ drupalvm.vagrant \ machines \ drupalvm \ virtualbox


0

ウインドウズ10

Homestead.yamlファイルを編集して、ボックスに新しい名前を付けます。

ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
name: my-new-vbox      #new name for the box

と実行vagrant upまたはvagrant up --provision

または

GUIでVirtualbxアプリケーションを開き、問題を引き起こしていたすべての仮想ボックスを削除して、上記のコマンドを実行します

または

homesteadフォルダー内の「Vagrant」ファイルを削除し、上記のコマンドを実行します。


0

次のように、プロバイダーの直後にファイルにキーを追加するname必要がありますhomestead.yaml

name: name_of_you_machine

それは私にとってはうまくいきます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.