【问题标题】:Electron does not run on shared folder电子不在共享文件夹上运行
【发布时间】:2021-05-31 18:47:01
【问题描述】:

C:\share 是共享文件夹。 C:\share\electron-v13.0.1-win32-x64、\\192.168.1.10\share\electron-v13.0.1-win32-x64 和 Z:\electron-v13.0.1-win32-x64 是同一个文件夹。

当我执行C:\share\electron-v13.0.1-win32-x64\electron.exe 命令时,Electron 应用程序正确启动。 但是,当我执行Z:\electron-v13.0.1-win32-x64\electron.exe 命令时,电子应用程序没有正确启动。 根据任务管理器的说法,电子进程正在运行。 但是,电子的窗口没有显示出来。

electron 可以在共享文件夹上正确运行吗?

【问题讨论】:

    标签: electron


    【解决方案1】:

    在本地使用它应该更安全(来自 C:\share)。与本地文件系统相比,映射驱动器的行为非常不同。它们的实现也可能在设置上有所不同:

    https://wiki.samba.org/index.php/Time_Synchronisation

    https://www.truenas.com/community/threads/issue-with-modified-timestamps-on-windows-file-copy.82649/

    https://help.2brightsparks.com/support/solutions/articles/43000335953-the-last-modification-date-and-time-are-wrong

    如果我理解您只是映射回您自己的共享文件夹,并且总体而言,Windows 服务器配置对我来说更加一致,但是协议也随着时间的推移发生了变化:

    https://en.wikipedia.org/wiki/Server_Message_Block

    我不太了解网络共享协议,无法准确回答您遇到问题的原因,但我知道足以告诉您挂载的共享文件夹不像您自己的本地文件系统。在许多情况下,差异并不重要,它给用户带来了很好的体验,但在某些情况下,这些微小的差异会以神秘的方式破坏事物,即使它们几乎像常规/本地驱动器一样映射/安装。这不是 Electron 独有的问题。

    这是通过 SMB(主要是二进制文件/工具)进行的很多事情的问题,共享文件夹可能正在运行不同的文件系统、不同的权限和特权(或者如果它完全是在下面运行完全不同的权限结构不同的文件系统)。远程文件夹可能会遇到inotify 获取文件更新事件的问题,可能会错过更改的文件(如 Linux 上的 touch 旨在更新文件的日期),因此通过共享文件夹,日期更新可能会延迟/四舍五入。我认为在某一时刻,甚至 Makefiles 行为不端,因为它取决于访问日期以在本地工作。

    工具的另一个问题是可共享性,它可以处理从同一位置运行多个实例吗?是否将某些内容保存到 ./tmp 或其他可能与同时运行它的其他用户冲突的文件中?

    总体而言,我倾向于将它们用于数据(并且很少会出现问题),但只有在已知它们不会造成问题时才会远程共享应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-30
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 2013-01-18
      • 2014-06-12
      • 2018-10-16
      相关资源
      最近更新 更多