ライブラリ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)
何が間違っているのか、または一般的にそれを行う方法についてのヒントはありますか?