Open nich0lasfung opened 8 years ago
同问, opensuse下编译安装也是这个问题 nodejs4
@kidoflamancha 已解决 把electronic wechat文件夹删除再重新用npm install进行编译就不会报错,
@nich0lasfung 我也有这个问题,没看懂你是怎么解决的?能再说说么.
@liu-dongyu 把git clone下来的文件夹删除,然后重新git clone,重新编译一次, 我第一次的时候npm install会报错,用npm -legacy install才能编译,第二次的时候直接npm install没有报错,
同,但是我编译后启动会卡在loading界面。
@wanicca 前面的一些issue里说过,卡loading界面是网络问题,我以前也偶尔有过,关闭重开就好了
看这个报错路径似乎是我加入的代码的问题。。。
把 ~/.config/electronic-wechat
这个目录删掉可以重现问题么?
不过在我自己测试的时候没有出现过这种问题
@Rocket1184 不清楚...因为我后来删除,然后重新编译以后就没有报错了,另外我在源码中也没有找到trayConfig.json
,所以没有办法复现问题..
内部更新,如何测试。
@jeffycai 什么叫内部更新。。
问题还是存在,我npm install 没有任何问题,但是npm start就会报如下的错误,关闭错误后,能够正常运行。
环境: node: 6.7.0 npm: 3.10.3 centos desktop
.config下面并不存在electron-wechat文件夹
windows , mac 下都没有这个问题,
centos, ubuntu会有这个问题
我自己修好了, ubuntu 下面
mkdir -p ~/.config/electronic-wechat
touch ~/.config/electronic-wechat/trayConfig.json
你好 @yech1990 , 看了你的命令行,第一句是创建一个夹子,第二句请问是干嘛?也就是下面代码块中的命令是什么意思?自己创建一个json文件么?
~/.config/electronic-wechat/trayConfig.json
@Nomia 第二句是承接第一句的命令mkdir
的,所以实际上是自己创建两个空文件,表面上看是没有报错,实际上只是通过了检测json文件的步骤。在使用过程中,如果有调用到json文件的地方,应该还是会报错的,因为json文件是空文件
@yech1990
PS:以上只是个人粗浅的看法,因为没有解包看详细的代码,所以目前还不能确认json文件的用途。
@Nomia @nich0lasfung 这个应该是托盘的配置文件,每次触发托盘的时候会调用这个配置文件。 我试过是不会影响到托盘的功能的,至于底层的东西就没细看了。
哎。。。没想到搞一个托盘图标颜色切换会产生这么多麻烦。。。但我自己的环境里面, ~/.config/electronic-wechat
文件夹和 trayConfig.json
都是会在不存在时自动创建的啊 = = (Ubuntu 16.04.1)
@nich0lasfung 我实现这个功能的时候,如果读到配置文件为空,就会自动写入默认配置内容
@Rocket1184 其实我也很奇怪 我也看到了那个写入默认配置的代码。。。
@Rocket1184 突然想起前几天在别的项目里遇到的,
有一些系统环境不允许你创建文件夹,比如如果你建立 ~/myfile.json 就没问题 但是如果你是建立 ~/folderName/myfile.json 就不行。 有可能是这个问题?
@Kulbear electron似乎会在启动的时候自己创建appData
文件夹的吧,然后我只是在里面新建一个文件
参见-> http://electron.atom.io/docs/api/app/#appgetpathname
~/.config/electronic-wechat
这个文件夹也应该是自动创建的才对啊
@Rocket1184 因为我也存了本地配置然后丑陋的直接放在了HomeDir 就没遇到这个问题 稍后我看一下
一个暂时的workaround,新建一个空的trayConfig.json依然报错,需要内容格式符合JSON要求。
mkdir -p ~/.config/electronic-wechat
echo "{}" > ~/.config/electronic-wechat/trayConfig.json
@hackjutsu 空的json报错很正常 因为空文件并不是有效的JSON,很简单的方法就是删了让它自己自动生成就可以了。
@Kulbear 我在Ubuntu 16.0.4上跑的时候(production branch) 没有观察到文件自动生成,所以自己新建立一个。
前面yech1990提到的方法里是建立一个空文件,这会导致json读取错误。
@nich0lasfung @kidoflamancha @liu-dongyu @wanicca @Nomia @hackjutsu
出现这个问题的各位,你们是直接用二进制包的,还是自己 npm run build:linux
,或者直接在目录里面 npm start
的?
如果是用 npm start
,应用不会自己建立 ~/.config/elctronic-wechat
文件夹,而是直接用的 ~/.config/Electron
,所以会出现找不到文件的错误
我想应该是这样的
@Rocket1184 这真是一个历史悠久的。。。bug 不过似乎解释了为啥我创建的配置文件没啥问题。。因为我是手动在HOME。。。 之后咱们整合一下吧
@Kulbear 那我们之后统一存在 HOME ,或者放在 ~/.config
下面,还是别的地方?
或许需要在 README 说明一下配置文件保存位置,免得被误删了
@Rocket1184 不是很记得了,应该是选用最简单的方法,即npm start
吧
@Rocket1184 HOME 存一个 .ewconfig 之类的文件吧 最近比较忙没太管这里。
如果找不到该文件,可不可以降级为内部的warning,而不是报错呢?
Description
npm install无法正常安装 legacy模式可以安装(v1.3也是这样才能安装) 启动时弹出窗口,提示如下, 点确定后正常启动
Specifications
$ electron --version
):v1.4.0