我正在尝试使用curl:
下载node
$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xz -C /opt
现在,在我的Mac上,这有效。但是,在CentOs中,这不起作用:
$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xz -C /opt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 14.8M 0 941 0 0 1214 0 3:33:54 --:--:-- 3:33:54 1214
gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
0 14.8M 0 42083 0 0 51628 0 0:05:01 --:--:-- 0:05:01 51635
curl: (23) Failed writing body (246 != 1369)
我不明白这里到底发生了什么。
如果我拆分命令并执行
$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz > node.tgz
$> tar -xvf node.tgz // NOTE that I omitted the `z`
它有效。基于此,也许curl解压缩了我试过的文件
$> curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar x -C /opt
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 14.8M 0 941 0 0 1005 0 4:18:23 --:--:-- 4:18:23 1004tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
0 14.8M 0 17325 0 0 18258 0 0:14:13 --:--:-- 0:14:13 18256
curl: (23) Failed writing body (428 != 1369)
不:(任何帮助都会受到赞赏吗?
答案 0 :(得分:2)
当您使用选项" -z"在tar应用程序中正在等待.gz(gunzip)格式。
您应该使用选项" J":
curl https://nodejs.org/dist/latest/node-v6.6.0.tar.xz | tar xJ -C /tmp