我正在使用电子和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
。
答案 0 :(得分:0)
nodegit
包含本机NodeJS模块,必须重建本机模块以定位您使用它们的Electron版本。有关重建本机模块的说明,请访问http://electron.atom.io/docs/tutorial/using-native-node-modules/