Electron和NodeJS无法将日志写入文件

时间:2019-05-24 03:56:29

标签: node.js electron electron-builder

我正在电子内部运行一个nodejs应用程序。 nodejs应用程序将日志写入到位于该应用程序相同安装路径中的日志文件。

然后我使用电子生成器来构建安装程序。在Windows计算机上,当我在C:\Users\username下安装应用程序时,nodejs应用程序将日志写入日志文件而没有任何问题。但是,当应用程序安装在C:\Program Files\MyApp下时,会出现问题,该应用程序显示以下错误:

  

错误:EPERM:不允许操作,请打开'C:\ Program   Files \ MyApp \ resources \ app.asar.unpacked \ server \ logs \ output.log'

但是,如果我以管理员身份运行该应用程序,则它可以完美运行。这显然是一个权限问题。如何使我的应用在没有任何管理员权限的情况下写入上述路径中的日志?

谢谢。

2 个答案:

答案 0 :(得分:1)

除非您具有管理员权限,否则Windows不提供写入Program Files目录的权限。您必须像大多数应用程序一样强制用户以管理员身份运行程序或将日志写入C:\Users\<username>\AppData\Local\<yourappname>之类的文件夹

答案 1 :(得分:0)

最好将日志存储在

中的某个位置
"* What went wrong:
A problem occurred configuring project ': app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > A problem occurred configuring project ':react-native-device-info'.
      > Could not find common.jar (android.arch.core:common:1.0.0).
        Searched in the following locations:
            https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output."

https://github.com/electron/electron/blob/master/docs/api/app.md#appgetpathname