gpt4 book ai didi

在 Windows 上使用 node.js child_process.spawn() 找不到 github ssh 公钥,但在 child_process.exec() 上可见

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:01 30 4
gpt4 key购买 nike

此代码适用于 Windows 和 Mac OS X:

var exec = require( 'child_process' ).exec
exec( 'git clone git@github.com:user/myrepo.git' )

但是此代码在 Windows 上运行时会从 git 返回“访问被拒绝(publickey)”错误,但在 Mac OS X 上则不会:

var spawn = require( 'child_process' ).spawn
, child = spawn( 'git', [ 'clone', 'git@github.com:user/myrepo.git' ], { env: process.env } )

child.on.stderr( 'data', function( data ) {
console.log( data.toString() )
})

我假设在 spawn 中我失去了与 ~/.ssh 的连接...但我认为发送 process.env 会起作用。顺便说一句,当直接在命令提示符中输入时,git clone 命令在 Windows 上可以正常工作。

有什么明显错误吗?

最佳答案

不是 Node 问题,而是 git 问题。将 Windows 上的 git 从 1.7.11 升级到 1.8.3 并且生成工作正常。

关于在 Windows 上使用 node.js child_process.spawn() 找不到 github ssh 公钥,但在 child_process.exec() 上可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664672/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com