复制包含 terminfo 子目录中带有符号链接的相同单词(不同大小写)文件的 conda 环境文件夹时遇到问题

复制包含 terminfo 子目录中带有符号链接的相同单词(不同大小写)文件的 conda 环境文件夹时遇到问题

我正在使用 WSL1。

  • 我正在尝试使用将我的 ~./miniconda/envs 文件夹的副本保存到桌面cp

  • 我一直收到类似这样的错误cp: cannot create regular file './envs/py_env/share/terminfo/h/hp2621a': File exists

  • 问题在于有 2 个文件名称相同但大小写不同。例如,hp2621ahp2621A


例子:

原始文件夹:hp2621a,,hp2621Aetc

使用cp我得到:

  • 新建文件夹:hp2621Aetc
  • 丢失的: hp2621a

  • py_env/share和的一些子目录py_env/lib也存在类似的问题(A并且a似乎发生冲突)

  • 我可以通过将目录名称从 更改为 来解决其中的一些A错误A_1

答案1

从评论来看,你似乎已经找到了这个——有一些好的文档为什么会发生这种情况以及如何处理。

默认情况下,Windows NTFS 驱动器上的文件夹不区分大小写;A并且a文件名相同。但是,一段时间以来(自 2018 年以来),Windows 能够逐个目录(和可继承)指定区分大小写。为此:

  • 放置这些文件的目录一开始必须是空的。要么从现有目录中删除所有内容,要么在桌面上创建一个新的空目录。我们假设这个目录的名称是$env:USERPROFILE\Desktop\env

  • 从 PowerShell 运行:

    fsutil.exe file setCaseSensitiveInfo $env:USERPROFILE\Desktop\env enable
    

这些应该就是你的命令正常工作所需的全部内容cp。如果不是,请参阅文档页面以了解更多选项和详细信息。

相关内容