Этот код работает на Windows, и на Mac OS X:GitHub SSH-ключ не найден с Node.js child_process.spawn() на окнах, но видно на child_process.exec()
var exec = require('child_process').exec
exec('git clone [email protected]:user/myrepo.git')
Но этот код возвращает «Доступ запрещен (ОткрытыйКлюч)» ошибка из мерзавца при работе на Windows, но не на Mac OS X:
var spawn = require('child_process').spawn
, child = spawn('git', [ 'clone', '[email protected]:user/myrepo.git' ], { env: process.env })
child.on.stderr('data', function(data) {
console.log(data.toString())
})
Я предполагаю, что в spawn
я схожу подключение к ~/.ssh
... но я думал, посылая в process.env
будет работать. Кстати, команды git clone
отлично работают в Windows при вводе в командной строке напрямую.
Все, что явно не так?
win-spawn кажется странным взломом, учитывая, что окна являются поддерживаемой целью для узла - spawn() должны работать. делая больше исследований. –