Link to github for error printout

当我尝试捆绑安装时,收到上述错误。我已经尝试了其他帖子的建议,但 github 社区不知道答案。

我正在运行 Arch 并且在我的 shell 中使用 zsh。

更新环境:



提前致谢!

最佳答案

首先,运行命令

ls -l ~/.bundle/cache/compact_index/

你应该看到类似的东西
drwxr-xr-x  3 myname  staff  102 Jun  1 23:03 rubygems.org.443.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

(我是一个可怜的中国程序员,所以我的文件夹是 ruby.taobao.org.443.07113fbafd9bf5f337f3f6cee4b3a723 。我猜目录名称是 <rubygems source domain>.<rubygems source port (443 for HTTPS)>.<checksum> )

注意 drwxr-xr-x 部分,并确保它是 而不是 drwxrwxrwx

如果是 drwxrwxrwx ,则通过命令更改它
chmod 0755 rubygems.org.443.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
drwxrwxrwx (0777) 意味着任何人都可以在该目录中创建任何文件( world writable )以及删除/移动它们( not sticky )。 Bundler (>= 1.12.4) 使用 compact_index ,而 Dir::mktmpdir 又使用 Dir::mktmpdir 在该目录中创建子目录。

出于安全考虑,ojit_code 方法会验证要创建的 tmp 目录的父目录的权限。如果权限为 0777 (drwxrwxrwx),那么您将看到此错误,因为它不安全。

0755 (drwxr-xr-x) 很好,因为只有该目录的所有者(用户)才能在该目录中创建/删除/移动文件或子目录(非全局可写)。其他任何人都只能列出他们的信息。

1777 (drwxrwxrwt) 也很好,因为任何人都可以在该目录中创建文件或子目录(世界可写),但只有该文件的创建者才能删除/移动它( 粘性 )。

关于ruby-on-rails - 参数错误 : parent directory is world writable but not sticky (bundle install),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37570460/

10-11 23:22