我正在使用 Windows 10 的 Linux 子系统,我在其中安装了 Jekyll,但是当我运行时bundle exec jekyll serve
它给了我:
jekyll 3.8.6 | Error: Operation not permitted @ apply2files - /mnt/e/Work/project/_site/images/banner.jpg
我知道 Windows 和 Linux 权限存在一些不兼容问题,因为由于某种原因我的所有文件都归 root 所有,但是这个问题有解决办法吗?
我在这里找到了答案https://scottdorman.blog/2019/02/27/running-jekyll-on-wsl/ https://scottdorman.blog/2019/02/27/running-jekyll-on-wsl/作者说我必须关闭并重新打开 bash,但它不起作用。
这些“不允许操作”的错误似乎与用户权限或所有权有关。
我在同事的 MAC 电脑上看到过奇怪的错误。命令ls -al
显示某些文件夹的所有者是root.
如果这适用于您,请尝试使用以下命令将所有权更改/转移给您的用户:
sudo chmod -R 777 /mnt/e/Work/project/
sudo chown -R youruser /mnt/e/Work/project/
chmod 和 chown 之间的区别很简单:
注意:这在 上有详细解释unixtutorial.org https://www.unixtutorial.org/difference-between-chmod-and-chown.
对于 Windows Linux 子系统,我发现了这个2018 年 1 月的旧博文 devblogs.microsoft.com https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/:
过去的权限是如何运作的?
在 Build 17063 之前,所有文件/文件夹都将“root”列为所有者,并属于“root”组。每个文件/文件夹的权限位均源自 Windows 权限 - Windows 未检查写入位意味着 WSL 中未设置写入位。
此外,尝试对文件/文件夹进行 chmod 或 chown 会导致无操作(它们不会执行任何操作!)
权限现在如何运作?
对于没有元数据的文件,我们采用与 17063 之前版本中描述的方法相同的方法。但现在,chmod/chown 可以将元数据分配给文件或文件夹。默认情况下,WSL 中新创建的文件将使用元数据创建,并将尊重您设置的挂载选项(稍后讨论)或执行 mkdir/open 时传递的权限。
而且,我发现了这个帖子:chmod WSL (Bash) 不起作用 https://stackoverflow.com/questions/46610256/chmod-wsl-bash-doesnt-work,其中指出卸载并重新安装驱动器就足以使 chmod 和 chown 工作(在提到的 WSL 更新之后)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)