このコードは、Windows および Mac OS X で機能します。
var exec = require( 'child_process' ).exec
exec( 'git clone git@github.com:user/myrepo.git' )
ただし、このコードは、Windows で実行すると git から "Access denied(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 で正常に動作します。
明らかに間違っていることはありますか?