' (Permission denied)"-6ren"> ' (Permission denied)"-我正在使用 Homestead 5.0 预打包的 Vagrant 盒子工作有时在 git pull 或 git checkout 之后,我得到 unable to unlink old '' (Per-6ren">
gpt4 book ai didi

git - 在 Vagrant 框内进行 git pull 后随机获取 "unable to unlink old ' ' (Permission denied)"

转载 作者:IT王子 更新时间:2023-10-29 01:01:43 26 4
gpt4 key购买 nike

我正在使用 Homestead 5.0 预打包的 Vagrant 盒子工作有时在 git pullgit checkout 之后,我得到

unable to unlink old '<file>' (Permission denied)

重启我的盒子后,我可以正常 pull 或 checkout 。我也试过在本地 git pull 并且效果很好。

设置:

  • Mac 操作系统塞 pull 利昂
  • 虚拟盒子 5.1.14
  • Vagrant 1.9.1
  • 家园 5.0

有人遇到过这个问题吗?

最佳答案

看起来这是 macOS(可能是 El Capitan,但在 Sierra 上得到确认)和/或 NFS 的错误。

查看这些 Vagrant 问题:

大多数人发现它似乎与文件系统缓存问题有关。

Solution High Sierra (2017-11-21)

升级到 High Sierra 10.13.2 Beta 2 作为 confirmed by JF Bibeau .

Upgraded to High Sierra 10.13.2 Beta 2, removed my cronjob that would periodically do an ls -laR as a workaround, [...]

I'm happy to report I haven't seen this in almost 2 weeks of using High Sierra. It's completely fixed!

请注意,与 incorrect listing of files on the guest machine 相关的 High Sierra 似乎出现了一个新的但不同的问题.


可能的解决方法

如果无法升级到 High Sierra,这里有几个解决方法。

更新 Vagrant 和 Virtualbox

如果可能,同时更新两者,尽管有些人提到降级有帮助。

主机上的递归列表(简单的解决方法)

在主机上运行以下命令刷新文件系统缓存:

ls -alR [synced_directory] > /dev/null

或打开同步目录的获取信息菜单似乎暂时有效。

有些人制作了每 5 分钟执行一次的 cron 作业,因此他们永远不会遇到问题,即使它不是最终的解决方案。

Someone pointed out仅运行目录的递归列表具有相同的效果并且更快

find [synced_directory] -type d  > /dev/null

禁用 NFS 查找缓存

A comment在提到的问题中:

Disabling NFS lookupcache seems to work, but the performance is unbearable.

更改同步目录的权限

在主机上,授予所有人读写权限。它似乎也暂时有效,可能出于与打开获取信息菜单相同的缓存原因。

不使用 NFS

config.vm.synced_folder "./host", "/vagrant-dir", :mount_options => ["dmode=777", "fmode=777"]

但这有一个巨大的性能缺点。

使用vagrant-sshfs

这是一个允许使用 SSHFS 挂载目录的 vagrant 插件。尽管从 repo 协议(protocol)本身列出的缺点来看:

Performance is worse than an implementation like NFS

降级到 El Capitan

Some people提到他们在 El Capitan 上没有这个特定的“取消链接”问题。因此,降级将是避免处理它的最后手段解决方案。


一些注册的 Apple 开发者已经在 bugreport.apple.com 上报告了这个问题。 (#28927426#33043401)但信息是私有(private)的。

Apple responded并关闭原始错误报告,说:

The issue reported in this bug report is fixed but the High Sierra issue is specific to APFS and not the same issue. Please file a new nug (sic) for that issue. Thank you. We are now closing this bug report.

关于git - 在 Vagrant 框内进行 git pull 后随机获取 "unable to unlink old ' <file >' (Permission denied)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42580942/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com