6

ライブラリnodegit(バージョン0.2.4)とsshを使用して、node.jsのteamforgeサーバーからgitリポジトリを複製しようとしています。私たちのサーバーはユーザーからの認証を要求し、オプションを渡さずにクローンメソッドのみを使用しようとすると、「コールバックは SSH 資格情報の初期化に失敗しました」というエラーが発生しました。

ファイル private.key と public.key に秘密鍵と公開鍵があります。それらは、Web ストームで作業ディレクトリに設定したディレクトリにあるため、場所は問題になりません。

それを行う方法の例が見つかりませんでした(おそらく見逃したかもしれません)が、以下のコードは私が得た最も近いものです:

'use strict';

var nodegit = require("nodegit"),
Clone = nodegit.Clone,
cred = nodegit.Cred;

var options = {
    remoteCallbacks: {
        credentials: function () {
            return cred.sshKeyNew('user', 'public.key', 'private.key', '');
        }
    }
};

Clone.clone("ssh://user@teamforgeserver.net/reponame", "localTmp", options)
  .then(function(repo) {
        var r = repo;
    },
    function(err){
        var e = err;
    }
);

次のエラーが表示されます。

TypeError: Object #<Object> has no method 'isFulfilled' at value
(c:\...\proj\node_modules\nodegit\node_modules\nodegit-promise\lib\core.js:36:15)

何が間違っているのか、または一般的にそれを行う方法についてのヒントはありますか?

4

1 に答える 1