我正在将一个发布文件放在一起,这似乎工作正常
1> systools:make_tar("rel/project-1.0").
ok
此时,我在rel/project-1.0.tar.gz
获得了预期的文件,但是,由于某种原因尝试提取错误
2> erl_tar:extract("rel/project-1.0.tar.gz").
{error,bad_header}
尝试从shell中提取tar
相同的文件,或使用等效的os:cmd/1
调用,可以正常工作。这里出了什么问题?
答案 0 :(得分:3)
存档是gzip压缩的(请注意.gz
扩展名)。您需要使用extract/2
并提供compressed
选项:
erl_tar:extract("rel/project-1.0.tar.gz", [compressed]);