无法在 npm 依赖项中使用私有仓库

Posted

技术标签:

【中文标题】无法在 npm 依赖项中使用私有仓库【英文标题】:Unable to used private repo in npm dependencies 【发布时间】:2021-06-29 02:11:23 【问题描述】:

大家好 运行 npm install 时出现此错误

openssl config failed: error:02001002:system library:fopen:No such file or directory
openssl config failed: error:02001002:system library:fopen:No such file or directory
npm ERR! Error while executing:
npm ERR! C:\Users\rmittal\AppData\Local\Programs\Git\cmd\git.EXE ls-remote -h -t ssh://git@github.com/xxxx/xxx-api.git 
npm ERR!
npm ERR! Host key verification failed.
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR!
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\rmittal\AppData\Roaming\npm-cache\_logs\2021-04-02T06_15_51_313Z-debug.log

git@github.com/xxxx/xxx-api.git 只是我的另一个仓库 我调查了npm install error : "Host key verification failed." 但并没有引导我解决问题。 有人可以帮帮我吗?

使用的版本:

D:\>node -v
v10.23.1

D:\>npm -v
openssl config failed: error:02001002:system library:fopen:No such file or directory
openssl config failed: error:02001002:system library:fopen:No such file or directory
6.14.10

存储库也设置正确

【问题讨论】:

【参考方案1】:

您提到的答案中建议的ssh-keyscan -H github.com >> ~/.ssh/known_hosts 应该可以工作,但由于您在 CMD 中,它应该是:

ssh-keyscan -H github.com >> %USERPROFILE%/.ssh/known_hosts

假设:

您的 %PATH% 包括 C:\path\to\Git\usr\binssh-keyscan.exe 所在的位置) 您的私钥确实允许您访问该私有存储库。

在任何文件夹中使用(独立于npm)测试最后一点

 git ls-remote git@github.com/xxxx/xxx-api.git

如果您可以列出该私有存储库中的远程头,则意味着您确实可以访问它。如果需要,它应该要求在%USERPROFILE%/.ssh/known_hosts 中添加指纹。

然后您可以再次尝试npm 命令。

【讨论】:

以上是关于无法在 npm 依赖项中使用私有仓库的主要内容,如果未能解决你的问题,请参考以下文章

无法使用托管在 GPR 上的私有 NPM 包

使用cnpm搭建私有NPM仓库 发布npm包

云效制品仓库 Packages,不限容量免费用

NPM私有包部署到私有仓库

搭建npm私有镜像仓库,天下苦于npm build久矣

Docker `npm install` 与 TypeScript 中的 GitHub 私有 repo 依赖项