运行 git 来自 node.js 作为子进程?
Running git from node.js as a child process?
我正在尝试在 Node.JS 中编写通用命令-运行ner - 但这并不重要。
我的设置如下:
- 我有一个使用
child_process.exec
一个接一个执行的字符串命令列表。
- 我想从其中一个命令中 运行 git,特别是
pull
.
- 我从中提取的位置需要 SSH 身份验证。 HTTPS 不是一个选项。
- 我的私钥是密码短语。
- 我目前正在使用
keychain
来管理 ssh-agent
。
当从命令行运行ning git pull
时,它成功了。 运行以登录用户身份登录我的应用程序时,它成功了。但是,当 运行 使用 forever
连接我的应用程序时,它失败了。
我收到的错误是 Permission denied (publickey).
。我已尝试调用 keychain
作为命令的一部分,但我无法让它识别凭据。
我该如何解决这个问题?
我的错误是获取 .bash_profile
的内容并使用它来设置 exec
中的 keychain
。
我需要做的是:
. $HOME/.keychain/$HOSTNAME-sh; git pull
我通过查找如何将 keychain
与 bash
脚本一起使用的示例发现了这一点。
我正在尝试在 Node.JS 中编写通用命令-运行ner - 但这并不重要。
我的设置如下:
- 我有一个使用
child_process.exec
一个接一个执行的字符串命令列表。 - 我想从其中一个命令中 运行 git,特别是
pull
. - 我从中提取的位置需要 SSH 身份验证。 HTTPS 不是一个选项。
- 我的私钥是密码短语。
- 我目前正在使用
keychain
来管理ssh-agent
。
当从命令行运行ning git pull
时,它成功了。 运行以登录用户身份登录我的应用程序时,它成功了。但是,当 运行 使用 forever
连接我的应用程序时,它失败了。
我收到的错误是 Permission denied (publickey).
。我已尝试调用 keychain
作为命令的一部分,但我无法让它识别凭据。
我该如何解决这个问题?
我的错误是获取 .bash_profile
的内容并使用它来设置 exec
中的 keychain
。
我需要做的是:
. $HOME/.keychain/$HOSTNAME-sh; git pull
我通过查找如何将 keychain
与 bash
脚本一起使用的示例发现了这一点。