我从 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://git@github.com:user/repo.git#ref"
}
但这似乎没有任何效果:
错误:找不到模块“@castlelemongrab/ioh”
我应该如何解决?我尝试进入node_modules目录并将库git clone-ing到文件夹中,但这也导致了一些错误: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这是避免冲突的有效且安全的方法吗?