我正在使用 electron 和 nodegit 开发一个项目,我最近更新了我的依赖项。解决了兼容性问题后,我发现有两个版本的 nodegit 和 electron 可以工作。但经过测试,我发现异步 nodegit 操作失败,而同步操作正常。这是一个不起作用的代码示例:
const pathToRepo = require('path').resolve(path);
Git.Repository.open(pathToRepo)
.then((repo) => {
console.log(repo);
})
.catch( (err) => {
console.log(err);
});
在执行它时,promise 返回一个被 catch 块捕获的错误,并在控制台上输出值时简单地显示true
,并且不提供任何附加信息。
此外,在更新我的依赖项之前,我已将节点从 5 更新到 6.3。
以前的:
电子预建:0.37.8
nodegit:0.13.0
更新后:
电子预建:1.2.1
nodegit:0.14.1
编辑:通过添加一个 npm 脚本解决:
"rebuild": "npm rebuild --runtime=electron --target=1.2.1 disturl=https://atom.io/download/atom-shell --build-from-source",
和运行npm run rebuild
。