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/