Событие unhandledrejection происходит, когда Promise завершён с ошибкой, но на данную ошибку не установлен обработчик.
checkError().catch(console.error)
try-catch
в критичных местах - особенно на операциях ввода/вывода. Так же следует отловить конкретно эту ошибку и выяснить где именно она возникает. Есть возможность отлова глобальных ошибок: process.on('uncaughtException', (err, origin) => { ... });
Permission denied
- очевидно, что не хватает прав на запись в какой-то каталог. Смотрите детальные логи, что и куда там оно пытается сохранить. И либо давайте разрешения либо меняйте путь для сохранения.126 Command found but is not executable
{}
просто упрощенная запись new Object()
для создания объекта.