@kr_ilya

Почему не работает код, если запустить его с помощью exec()?

Выполняю код на основе этой библиотеки. (Файлы репозитория лежат в папке instAPI)
Структура проекта
5e833afaa9b13589198854.png

При выполнении команды из терминала
5e833b95b3f03115628507.png
Скрипт успешно выполняется.
А если запустить ту же самую команду из js скрипта, который находится в папке tgBot с помощью exec
let videoFile = 'file_7.mp4';
let photoFile = 'file_8.jpg';
exec('ts-node /root/autoinst/instAPI/bot/upload.ts videoStory ' + videoFile + ' ' + photoFile, (error, stdout, stderr) => {
			if(error){
				console.log('EXEC ERROR - '+error);
			}else{
				console.log('EXEC OK');
			}
		})


Скрипт не работает и отдает ошибки
5e833c89d27bf069979605.png

Что можно сделать?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@kr_ilya Автор вопроса
Нужно было добавить параметр cwd (currentWorkDirectory)
const parentDir = path.resolve(process.cwd(), '../instAPI/bot');
exec('ts-node /root/autoinst/instAPI/bot/upload.ts videoStory ' + videoFile + ' ' + photoFile, {cwd: parentDir}, (error, stdout, stderr) => {
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект
25 апр. 2024, в 10:41
2000 руб./за проект