使用WSL在Rails应用程序中加载页面时发生错误Errno :: EEXIST

问题描述

我正在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},您一切顺利。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...