web-dev-qa-db-ja.com

名前がすでに存在するため、VagrantUpが失敗する

最近、ローカルのWordpress開発環境でVirtualbox、Vagrant、VVVを使い始めました。とても洗練されています。

私が抱えていた問題の1つは、「vagranthalt」でシャットダウンした後、次に「vagrantup」で開始したときに次のエラーが発生することです。

==> default: Setting the name of the VM: vagrant-local 
The name of your virtual machine couldn't be set because VirtualBox
is reporting another VM with that name already exists. Most of the
time, this is because of an error with VirtualBox not cleaning up
properly. To fix this, verify that no VMs with that name do exist
(by opening the VirtualBox GUI). If they don't, then look at the
folder in the error message from VirtualBox below and remove it
if there isn't any information you need in there.

VirtualBox error:

VBoxManage.exe: error: Could not rename the directory 'C:\VirtualBox VMs\ubuntu-cloudimg-trusty-va
230_94704' to 'C:\VirtualBox VMs\vagrant-local' to save the settings file (VERR_ALREADY_EXISTS)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component SessionMachine, interface iMac
VBoxManage.exe: error: Context: "SaveSettings()" at line 3015 of file VBoxManageModifyVM.cpp

C:\ VirtualBox VMs \にリストされている場所にアクセスしましたが、実際、そのディレクトリ「vagrant-local」はすでに存在しています。このディレクトリを削除(または名前変更)して「vagrantup」を再度実行すると、マシンが起動します。ただし、完全なプロビジョニングプロセスも実行します。もちろん、これには非常に長い時間がかかります。

すぐに使用できるVVVとVagrantのすべてのデフォルト構成を使用しています。 VirtualBoxを「適切にクリーンアップ」し、停止して再起動するたびにVM)を再作成する必要がないことを認識するにはどうすればよいですか。

または、私は何かが足りないだけですか?

「初心者レベル」の回答は、好ましくない場合は歓迎します。私はこの分野の初心者です、そして私は助けに感謝します!ありがとう。


現在のステータス:問題のVMをC:\ VirtualBox VMs \から削除しました;管理者としてGitBashを実行しているため、vagrant up(完全なプロビジョニングが行われます)、vagrant halt、およびvagrant up再びすべて期待される結果が得られます(2番目のupにプロビジョニングはありません)。今のところ、すべてが機能しているようです。表示されます... :)

10
ensminger

うーん..これは奇妙な問題です。 vagrant haltを実行すると、VMを終了するためのシグナルを送信するだけです。

Vagrantはすべての構成を.vagrantディレクトリに保持します(少なくともmac osとlinuxの場合、Windowsかどうかは完全にはわかりません)。このディレクトリにはVMへのすべての参照があるため、絶対に削除しないでください。次回vagrant upを実行するときにvagrant対応するVMを開始するためにこのディレクトリから情報を検索し、VMもプロビジョニングも再作成する必要がないことを認識しています。

Vmに関する情報を削除する正しい方法は、vagrant destroyを実行することです。これにより、すべての.vagrantディレクトリとvmが削除されます。

次に、.vagrantとVMからこのリンケージを再度作成する方法がありますが、少し注意が必要で、公式にサポートされているかどうかはわかりません。

Vagrantを使用する場合、VirtualBoxは(ほぼ)透過的になり、VMを使用するために起動する必要はなく、すべてがvagrantから実行される必要があります(少なくとも初心者レベルで)

:Windowsで実行している場合、管理者として実行していれば問題ありません。

2

Macを使用している場合、およびvagrant destroyが機能せず、次のメッセージが表示されます:The name of your virtual machine couldn't be set because VirtualBox is reporting another VM with that name already exists.次に、ユーザーフォルダーのVirtualBox VMsフォルダーに移動し、VMフォルダーを削除する必要があります。

同じ名前で既に存在するフォルダの設定を作成しようとしているため、VM)を構築できないという奇妙な状態にあります。

12
DDT

鉱山はこれらのほとんどよりも少し単純でした。 「VirtualBoxVMs」ディレクトリ(Windows用)を確認し、名前を付けようとしていた名前のフォルダを削除しました。これで問題は解決しました。

2
Chris

Vagrant up中に、上記のgitbashエラーが発生しました。この問題が発生する可能性は複数あります。

私は以下の手順を使用し、vagrantコマンドが正しく機能しています。

  1. Oracleを開くVM仮想マネージャー-このOracle VM仮想マネージャーパネルで、現在実行中の仮想マシンを削除します。
  2. Gitbashコマンドを終了しますプロンプト
  3. Gitbashをもう一度開きます
  4. Vagrantupコマンドをvagrantupとして実行します

Vagrantupコマンドは正常に実行されます。

注意:gitbashコマンドプロンプトを閉じるときにvagranthaltコマンドを実行することを確認してください。

まず、vagrantを停止してから、コマンドを終了します。

1
Sudhir

VBoxManage:エラー:設定ファイルを保存するために、ディレクトリ '<SOURCE>'の名前を '<DESTINATION>'に変更できませんでした(VERR_ALREADY_EXISTS

VMの状態を気にせず、最初からプロビジョニングできる場合は、宛先フォルダーを削除すると、機能するはずです。また、VirtualBoxリストから削除したかどうかを再確認してください。上手。

これは、VirtualBoxが適切にクリーンアップされていないか、クリーニングのプロセスを中断した場合に発生する可能性があります(例: Ctrl-Cvagrant destroyの途中)。

0
kenorb