运行 git 来自 node.js 作为子进程?

Running git from node.js as a child process?

我正在尝试在 Node.JS 中编写通用命令-运行ner - 但这并不重要。
我的设置如下:

  1. 我有一个使用 child_process.exec 一个接一个执行的字符串命令列表。
  2. 我想从其中一个命令中 运行 git,特别是 pull.
  3. 我从中提取的位置需要 SSH 身份验证。 HTTPS 不是一个选项。
  4. 我的私钥是密码短语。
  5. 我目前正在使用 keychain 来管理 ssh-agent

当从命令行运行ning git pull时,它成功了。 运行以登录用户身份登录我的应用程序时,它成功了。但是,当 运行 使用 forever 连接我的应用程序时,它失败了。

我收到的错误是 Permission denied (publickey).。我已尝试调用 keychain 作为命令的一部分,但我无法让它识别凭据。

我该如何解决这个问题?

我的错误是获取 .bash_profile 的内容并使用它来设置 exec 中的 keychain

我需要做的是:
. $HOME/.keychain/$HOSTNAME-sh; git pull

我通过查找如何将 keychainbash 脚本一起使用的示例发现了这一点。