我正在尝试将 cygwin 中的 ruby 从 1.8.7 更新到 1.9.2。我已将 ruby-1.9.2-p136.tar.gz 粘贴到主目录中所需的文件夹中。之后我输入了此命令。
tar xvf ruby-1.9.2-p136.tar.gz。解压文件时出现错误。
这是我收到的错误示例
ruby-1.9.2-p136/win32/winmain.c
tar:ruby-1.9.2-p136/win32/winmain.c:无法将所有权更改为 uid 501、gid 20:参数无效。
我在 rruby-1.9.2-p136.tar.gz 中的所有文件上都遇到了此错误。
有人能告诉我哪里错了以及解决办法吗?
谢谢
答案1
那么使用右心室? 它能消除大部分疼痛。
答案2
我的猜测是:您的 tarball 是由用户 ID 501、组 ID 20 打包的。当您解压它时,由于某种原因,它会尝试将所有文件的用户 ID 和组 ID 设置为这些,但您的系统上没有该用户/组。但它仍然应该解压。
作为一个小测试,执行以下操作:
tar -tzvf ruby-1.9.2-p136.tar.gz | head
并查看文件的用户/组。奇怪的是它试图在您的输出文件上设置它,因为您没有为此包含任何 perm 标志。