npm安装-带有'git+;https://`协议

npm安装-带有'git+;https://`协议,git,npm,ssh,https,bitbucket,Git,Npm,Ssh,Https,Bitbucket,我在package.json中有两个dep: "cdt-core": "git+https://gitscm.nabisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-core.git", "cdt-models": "git+https://gitscm.nabisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-models.git" 我可以在本地机器上很好地安

我在package.json中有两个dep:

"cdt-core": "git+https://gitscm.nabisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-core.git",
"cdt-models": "git+https://gitscm.nabisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-models.git"
我可以在本地机器上很好地安装它们。 如果我尝试从机器上的Docker容器中安装它们,我会得到:

npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t https://gitscm.cisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-core.git
npm ERR! 
npm ERR! fatal: Authentication failed for 'https://gitscm.cisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-core.git/'
npm ERR! 
npm ERR! exited with error code: 128
有人知道凶手是什么吗?这是SSH密钥吗?将SSH密钥复制到容器可能会起作用,但在某些情况下,我们必须在远程机器(在Jenkins或其他任何机器上)上构建映像,因此我可能需要一个不仅仅在本地工作的解决方案

如果我在容器中显式提供凭据,它将起作用:

"cdt-core": "git+https://USER:PASSWORD@gitscm.nabisco.com/scm/it-gats-cdtechnologyarchitecture-cdtsdaas/cdt-core.git"

但我不想在里面包含明文密码。如果没有SSH密钥,我怎么做呢?

当目标URL是HTTPS时,您的SSH密钥没有任何区别。是的,这就是我想的,但是为什么
git+HTTPS://
从Docker容器内部失败?您是否在容器中的任何位置提供凭据?@JimRedmond yes肯定没有提供凭据,也许我可以将凭证作为字符串的一部分?也许使用这个?