Vagrant 元数据已损坏
Vagrant Meta Data is Corrupt
希望有人能在这里提供帮助。我正在尝试对自托管的 vagrant box 进行版本控制,所以在不使用 Vagrant Cloud 的情况下执行此操作。
我创建了以下元数据文件:
{
"description": "How about this",
"name": "Graphite",
"versions": [
{
"version": "1.8",
"providers": [
{
"name": "virtualbox",
"url": "http://desktopenvironments/Graphite/Graphite_1.8.box"
}
]
}
]
}
这直接取自位于 http://docs.vagrantup.com/v2/boxes/format.html 的 vagrant(有点缺乏)文档。
当 运行 一个 vagrant add(直接从磁盘获取包含该文件的 box 文件)时,我得到:
The metadata associated with the box 'graphite' appears corrupted.
This is most often caused by a disk issue or system crash. Please
remove the box, re-add it, and try again.
如能提供任何有关发生这种情况的帮助,我们将不胜感激。
正在从我编写的 c# 应用生成我的元数据文件,使用 UTF8 进行文本编码。这还不够。您需要使用不带 BOM 的 UTF8。
删除字节顺序标记后,一切正常 100 秒。
var settings = new JsonSerializerSettings() { ContractResolver = new LowercaseContractResolver() };
string json = JsonConvert.SerializeObject(metadata, Formatting.None, settings);
var utf8WithoutBom = new System.Text.UTF8Encoding(false);
using (var sink = new StreamWriter(outputFilePath, false, utf8WithoutBom))
{
sink.Write(json);
}
希望有人能在这里提供帮助。我正在尝试对自托管的 vagrant box 进行版本控制,所以在不使用 Vagrant Cloud 的情况下执行此操作。
我创建了以下元数据文件:
{
"description": "How about this",
"name": "Graphite",
"versions": [
{
"version": "1.8",
"providers": [
{
"name": "virtualbox",
"url": "http://desktopenvironments/Graphite/Graphite_1.8.box"
}
]
}
]
}
这直接取自位于 http://docs.vagrantup.com/v2/boxes/format.html 的 vagrant(有点缺乏)文档。
当 运行 一个 vagrant add(直接从磁盘获取包含该文件的 box 文件)时,我得到:
The metadata associated with the box 'graphite' appears corrupted.
This is most often caused by a disk issue or system crash. Please
remove the box, re-add it, and try again.
如能提供任何有关发生这种情况的帮助,我们将不胜感激。
正在从我编写的 c# 应用生成我的元数据文件,使用 UTF8 进行文本编码。这还不够。您需要使用不带 BOM 的 UTF8。 删除字节顺序标记后,一切正常 100 秒。
var settings = new JsonSerializerSettings() { ContractResolver = new LowercaseContractResolver() };
string json = JsonConvert.SerializeObject(metadata, Formatting.None, settings);
var utf8WithoutBom = new System.Text.UTF8Encoding(false);
using (var sink = new StreamWriter(outputFilePath, false, utf8WithoutBom))
{
sink.Write(json);
}