繁体   English   中英

nodegit:使用GitHub API令牌克隆私有存储库不起作用

[英]nodegit: cloning private repository using GitHub API token is not working

我想使用一个npm包nodegit克隆一个私有存储库。 我遵循了有关克隆私有存储库的指南 ,并将克隆选项设置为fllow,

cloneOptions:
  remoteCallbacks:
    certificateCheck: ()-> return 1
    credentials: ()->
      return NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-oauth-basic")

但我收到一条错误消息, "authentication required but no callback set" 因此,我检查了nodegit一些相关源代码, nodegit如下所示设置cloneOptions

cloneOptions =
  fetchOpts:
    callbacks:
      certificateCheck: ()-> return 1 # For OS X issue with GitHub certificate
      credentials: ()->
        cred = NodeGit.Cred.userpassPlaintextNew(GITHUB_TOKEN, "x-auth-basic")
        return cred

这段代码的行为有些奇怪,因为它似乎在克隆存储库,但是cloneOpts.fetchOpts.callbacks.credential()被重复调用,并且程序不会停止运行。

如果我改为使用用户名和密码作为git.Cred.userpassPlaintextNew参数,则只会调用一次git.Cred.userpassPlaintextNew credentials() (这是预期的行为),并且会克隆存储库。

谁能给我一些提示我的代码有什么问题吗?

与远程托管服务通信时,不良凭据将导致nodegit重新尝试您的请求。 根据您使用的是Windows还是Mac,该请求将无限期重试,或者重试5次。

因此,我想您的OAuth凭据不正确,并且nodegit不断重试该请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM