问题描述
我正在Windows和WSL 1上使用Docker运行Rails应用。
有时在Docker卷之间进行清理后,重新启动应用程序后出现此错误。错误消息是“文件存在@ dir_s_mkdir-/myapp/tmp/cache/assets/sprockets/v4.0.0/3A”。
解决方法
发生这种情况是因为链轮(负责资产管道)无法成功写入高速缓存文件夹,在这种情况下为“ tmp / cache / assets / sprockets / v4.0.0 / 3A”,因为另一个名称几乎相同的文件夹(“。 ... / 3a“)已经存在(名称相同,只是小写)。
我已经经历过几次了,虽然我不确定为什么不区分大小写突然应用于wsl控制下的目录,但是我找到了一种解决方法here,可以解决此问题。 / p>
只需以管理员身份启动Windows Power Shell终端,然后从应用程序根目录运行此命令:
(Get-ChildItem -Recurse -Directory).FullName | ForEach-Object {fsutil.exe file setCaseSensitiveInfo $_ enable}
,您一切顺利。