Для контекста, я работаю на Mac и пытаюсь создать сценарий входа в CLI 1Password с помощью инструмента командной строки .Я пытаюсь программно подписать, используя команду, которая выглядит следующим образом:
op signin <signinaddress> <emailaddress> <secretkey> --output=raw
, и я пытался с / без аргумента --output = raw, но каждый раз, когда я просто получаю ошибку, которая выглядит как
[LOG] 2019/06/04 00:57:45 (ERROR) operation not supported on socket
child process exited with code 1
Моя первоначальная догадка заключалась в том, что она имела какое-то отношение к командной строке выполнения команд, отображая этот специальный символ ключа на следующем рисунке:
Соответствующий код написан на TypeScript и выглядит следующим образом:
import { spawn } from 'child_process'
// ends up being `op signin <signinaddress> <emailaddress> <secretkey>`
const op = spawn(opExecutable, args);
let result: string | null = null
op.on('message', (message, sendHandle) => {
console.log('message', message, sendHandle)
});
op.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
if (data && typeof data.toString === 'function') {
result = data.toString()
}
});
op.on('close', (code, ...args) => {
console.log(`child process exited with code ${code}`, args);
});
В конце концов, я хотел бы запустить на всех платформах и иметь возможность передать в stdin мастер-пароль, необходимый для подписив, но я пытаюсь выяснить, почему мое приложение узла падает в первую очередь:)