- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过nodegit 0.26.5
安装了npm
并将软件包导入了我的Electron应用程序的渲染器部分。在编译期间,我在下面收到此错误:
WARNING in ./node_modules/nodegit/dist/nodegit.js
Module not found: Error: Can't resolve '../build/Release/nodegit.node' in '/Users/steve/Documents/git/git_reader/node_modules/nodegit/dist'
ERROR in ./node_modules/nodegit/dist/nodegit.js
Module not found: Error: Can't resolve '../build/Debug/nodegit.node' in '/Users/steve/Documents/git/git_reader/node_modules/nodegit/dist'
ERROR in ./node_modules/nodegit/dist/nodegit.js
Module not found: Error: Can't resolve '../package' in '/Users/steve/Documents/git/git_reader/node_modules/nodegit/dist'
在我的
node_modules/nodegit/build
目录中,只有一个
Release
目录。有人知道我在这里想念的吗?
nodegit
和
@types/nodegit
作为依赖项,并将其导入
details.component.ts
中
git clone https://github.com/Githubber2021/electron-nodegit-error.git
npm install
npm run electron:local
重现该问题。任何人都可以在他们的机器上重现错误吗?我在这里想念什么?非常感谢您的帮助或提示!!
最佳答案
我正在使用nodegit 0.27
,而对我来说,错误消息略有不同,这是
nodegit.js:1088 Uncaught Error: Cannot find module '../package'
请注意,我将webpack与 Electron 锻造一起使用,在package.json中,我具有以下内容。 (我将不相关的部分替换为
...
)
{
"name": ...
"version": ...
"description": ...
"config": {
"forge": {
"packagerConfig": {},
"makers": [
...
],
"plugins": [
[
"@electron-forge/plugin-webpack",
{
"mainConfig": ...
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
...
]
}
}
]
]
}
},
...
}
在我的
webpack.renderer.config.js
中,我需要在导出文件中添加一个
externals
字段,以便它们看起来像这样
module.exports = {
...
externals: {
nodegit: 'commonjs nodegit'
},
};
然后在我的
main.ts
中,我拥有的主要过程
(global as any).mynodegit = require('nodegit');
然后,我使用IPC在渲染器进程中访问nodegit。请注意,
@ts-ignore
是必需的,以禁止来自 typescript 的错误消息。
import { remote } from "electron";
// @ts-ignore
import * as Git from "@types/nodegit";
// @ts-ignore
const Git = remote.getGlobal('mynodegit');
这是帮助我完成此
https://github.com/newblord/electron-react-webpack-nodegit-boilerplate的样板
关于node.js - 在Electron中运行nodegit失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62975911/
open(o.localPath).then(function (repo) { repository = repo; return repo.fetchAll(cre
我正在尝试使用 Nodegit插件到 clone将一些 git 存储库放入名为“tmp”的目录中,这样我就可以使用实际文件夹执行操作(将其上传到服务器)。这是我的代码: var git = requi
我的仓库中有两个分支 master 和 master.min。 假设我当前的分支是master.min。 我的主分支正在提交 - abcd 一些推送发生在 master 分支 - efgh, ijkl
伙计们,我有一个名为 user/foo 的分支,我想从远程检查它。代码: Git.prototype.refresh = function refresh(branch) { var opti
四处寻找示例,但找不到。文档没有解释,我想不通。 如何修改文件(例如 README.md),为修改后的文件创建一个提交,然后将提交推送到服务器? Nodegit:http://www.nodegit.
NodeGit 提供了一种简单的方法来获取所有当前更改的差异,而无需分阶段更改: import NodeGit, { Diff } from 'nodegit'; function getUnstag
使用 Node-git 我只想: 打开一个仓库(文件已被写入/更新) 暂存文件 提交 使用 git cli 我会写这样的东西 cd repo git add file.js git commit
我正在使用 Electron ,我的主要流程中有以下内容 import * as Git from "nodegit"; console.log("NodeGit version is:", Git.
我正在编写一个 Node API 服务器,它需要向用户发送驻留在服务器上的 git 存储库中的本地分支列表。很多地方建议使用Repository#getReferenceNames来自 NodeGit
在通过执行以下操作将 HEAD 设置为分离状态后,我正在尝试通过 nodegit 执行 git reset --hard: var oid = 'commit sha'; repo.setHeadDe
尝试使用 NodeGit 访问 HEAD 引用。我是 Nodejs 新手,所以这可能只是因为我错过了一些东西。以下代码查找头部,但始终返回 {}。不确定我做错了什么。 代码通过调用 getHead(r
我正在尝试使用 npm 包 nodegit 复制 git log --stat 的输出。文档( http://www.nodegit.org/api/commit/ )在 Commit 模型上显示了许
在下面的例子中很多人声称已经解决了这个问题 https://github.com/nodegit/nodegit/issues/463 Nodegit: How to modify a file an
我正在编写一个小应用程序来分析文件夹中的 git 存储库。我正在使用 nodegit 来解析基于 libgit2 的 repo。 如何使用 nodegit 获取 repo 中所有分支的所有提交? 这是
我有一个 NodeGit 存储库对象,repo , 和一个字符串 sha代表提交 ID 的代码,commit_id .我如何使用 NodeGit 执行此提交的 git checkout,这与命令 gi
我已经能够使用以下代码将文件写入裸存储库中的分支,但它仅适用于根目录中的文件。我无法在文档中找到关于如何为子文件夹构建树并将其用作提交的好示例。 async function writeFile(fi
我正在尝试实现nodegit来使用gitlab进行repo控制,但是我需要使用基本的用户名密码身份验证,并且文档仅使用ssh。我尝试使用 Cred.userpassPlaintextNew 但我得到
我在使用 nodegit 时遇到问题(v0.9.0)。任何需要包的 .js 脚本都将永远挂起并且不会退出。示例: var nodegit = require('nodegit'); console.l
我有这个: nodegit.Reference .lookup(repo, `refs/tags/${tagName}`) .then(ref => nodegit.Commit.lookup
我正在尝试使用 nodegit使用以下代码打开一个 git 存储库: var git = require('nodegit'); git.Repo(repoPath, function(error,
我是一名优秀的程序员,十分优秀!