很抱歉只粘贴错误代码,但我不知道还能尝试什么。我已经查看了该网站上的所有指南,但没有一个完全符合我的问题。我正在 Windows 10 上的项目“Zettlr”中使用 ubuntu 子系统。这是运行“yarn start”时收到的错误代码
The SUID sandbox helper binary was found, but is not configured correctly.
Rather than run without sandboxing I'm aborting now.
You need to make sure that node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
Done in 17.85s.
我正在尝试运行它,但它希望我更改访问权限和所有权。 chmod 没有效果(我理解这是由于 Windows 存储系统造成的),但我不知道如何让这个程序正确运行。我也跑过chown。从我的统计数据检查来看,该文件的 chmod 模式是 777,所以无论如何它应该是可以访问的。谁能指导我找到这方面的指南,或者解释一下我能做什么?
听起来您正在使用的文件位于 NTFS 卷上,安装在
/mnt
下的某处。将您的项目移动到本机 Linux 分区,例如在 $HOME
、/var
、/opt
等下
chmod
及其朋友 (chgrp
, chown
) 都应该在本机 Linux 卷上 100% 工作。
我认为您的问题与在 Windows Subsystem for Linux (WSL) 环境中运行
Electron
有关。具体来说,有关 SUID 沙箱助手的消息表明 Electron 由于 chrome-sandbox
文件的权限问题而遇到困难。
步骤如下:
步骤1。打开 WSL 并导航到您的项目目录。
步骤 2。手动更改所有者和权限:
sudo chown root:$(whoami) node_modules/electron/dist/chrome-sandbox
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
步骤 3。运行上述命令后,再次检查权限:
ls -l node_modules/electron/dist/chrome-sandbox
输出应显示所有者为
root
,权限应为 -rwsr-xr-x
。
第 4 步(可选)。您可能需要确保 WSL 设置为正确处理权限,因此编辑
/etc/wsl.conf
文件:
sudo nano /etc/wsl.conf
添加或更新以下行:
[automount]
options = "metadata"
[network]
generateResolvConf = true
保存更改后,使用
wsl -shutdown
命令重新启动 WSL。
步骤5。确保权限设置正确后,尝试再次运行您的应用程序:
yarn start