2017-09-22 11 views
0

.tarアーカイブへのディレクトリを作成するのに数回試しました。しかし私は成功しなかった。ErlangでElixirでtarファイルを作成するには

.tar形式を作成するためのサンプルコード。 (erlang付き)

{:ok , filename } = File.ls("/Users/shahryar/Desktop/test") 
:erl_tar.create("test.tar", filename) 

しかし、私のテストは失敗していました。

私がアーカイブファイル(.tarファイル)を作成するのに役立ちます

答えて

3

アーランのerl_tar.create/2は、2番目の引数としてcharlistsのリストを期待していますが、代わりにバイナリのリストが渡されています。代わりに試してみてください:

{:ok , filenames} = File.ls("/Users/shahryar/Desktop/test") 
:ok = :erl_tar.create("test.tar", Enum.map(filenames, &to_charlist/1)) 

特に、Erlangライブラリを扱う場合は、チャーリストとバイナリの違いを理解することが重要です。詳細についてはofficial documentationを確認してください。

+0

hi。初めてコードが動作しました。しかし、iexをリセットした後では、コードにエラーがあります。 '' **(MatchError)右辺の値と一致しません:{:error、{'one、:enoent}} '' ' –

+1

':enoent'は、存在しない。 – helios35

+0

私のターミナル写真:[リンク](http://s9.picofile.com/file/8307181076/Screen_Shot_2017_09_23_at_7_26_09_am.png)をご覧ください。このファイルが存在します。 –

関連する問題