瞎扯淡 cap deploy_via copy 的坑

fizzwu · 2013年01月28日 · 最后由 dotnil 回复于 2013年01月29日 · 3045 次阅读

迁移应用的时候遇到一个坑,因为新机器暂时还连不上 git 服务器,所以想发布就只能用

set :deploy_via, :copy

从本地打包来进行发布,结果服务器那边解包的时候就报错了,google 了一圈说 Mac 默认是用 BSD tar 来打包的,但是 Linux 是用 GNU tar 来解包,所以用 mac 的人用这个方法发布就要指定打包工具

set :copy_local_tar, "/usr/bin/gnutar"

这样就可以了。

顺便查了下 tar 的 [wiki](http://en.wikipedia.org/wiki/Tar_computing\)),以前都不知道tar还有这么多版本。还翻到一个帖子说Apple( switched to BSDtar from GNUtar with Leopard,这个有人知道有啥黑历史么。。。

这发布一次得多慢啊?

#1 楼 @ywencn 打包是很慢。。。只是暂时这样子

FreeBSD 几乎在所有方面都强于 Linux (钓鱼), 就是用户和支持的平台不够多

没具体研究,发现 10.8 下面也还是 bsdtar 啊,有什么特殊参数不可用?某一直在 mac 下发布的

$ ls -alh /usr/bin/tar 
lrwxr-xr-x  1 root  wheel     6B Oct 24 22:34 /usr/bin/tar -> bsdtar

从 GNU 迁移走多半是因为 GPLv3 吧...明天来考证

需要 登录 后方可回复, 如果你还没有账号请 注册新账号