提问人:Hack-R 提问时间:10/7/2020 最后编辑:Hack-R 更新时间:10/8/2020 访问量:1376
如何解决 nodejs 包中的依赖项
How to resolve dependencies in a nodejs package
问:
我已经从 Github 下载了一个 nodejs 项目,编辑了源代码以添加缺失的功能,现在我正在尝试将其编译为可执行文件或以未编译的方式运行它()。在这两种情况下,我都会收到消息,说它找不到它的依赖项。
这不是我的正常编程语言,所以我不熟悉节点依赖项的工作原理。node main.js
有问题的依赖项是其他节点包。我安装了它们,但这没有帮助。npm install -g
在文件中,它们描述如下:package.json
"dependencies": {
"@castlelemongrab/ioh": "^0.0.4",
"@castlelemongrab/strr": "^0.0.1",
"bent": "^7.3.6",
"jsDump": "^1.1.0",
"yargs": "^15.3.1"
},
警告消息将以开头的依赖项指定为缺少的依赖项。虽然这只是一个警告,但当您尝试使用它时,该程序无法运行并发出相同的消息,因此它实际上是一个错误。我发现这篇 Stackoverflow 帖子提到您可以像这样定义依赖项:@
"dependencies": {
"public": "git://github.com/user/repo.git#ref",
"private": "git+ssh://[email protected]:user/repo.git#ref"
}
但这似乎没有任何效果:
错误:找不到模块“@castlelemongrab/ioh”
我应该如何解决?我尝试进入目录并将库放入文件夹中,但这也导致了一些错误:node_modules
git clone
ioh
@castlelemongrab
npm ERR! code EISGIT
npm ERR! path C:\...\node_modules\@castlelemongrab\ioh
npm ERR! git C:\...\node_modules\@castlelemongrab\ioh: Appears to be a git repo or submodule.
npm ERR! git C:\...\node_modules\@castlelemongrab\ioh
npm ERR! git Refusing to remove it. Update manually,
npm ERR! git or move it out of the way first.
此外,由于我的系统上安装了此软件包的生产版本,并且我不想覆盖它,因此如果我更改“名称”字段,这是避免冲突的有效且安全的方法吗?package.json
答:
1赞
Hack-R
10/8/2020
#1
解决方案是将缺少的模块转换为 node_modules,然后转到 和 。git clone
rm -rf
.git
.gitignore
通过反复试验弄清楚了这一点。如果有人有更完整、更明智的答案,请随时添加。
评论