Используемая версия gm — последняя 1.9.0.
версия узла 0.12.0.
gm инициализируется флагом {imageMagick: true}. ImageMagick также обновлен. Сервер, столкнувшийся с этой проблемой, — Ubuntu.
В основном я считаю, что проблема связана с правами пользователя. Приложение работает, когда оно запущено на root
пользователе. Однако при запуске под другим пользователем safeuser
возникает ошибка. Он пытается выполнить ряд изменений размера и т. д., например:
gm(imagePath)
.resize(size, size)
.quality(quality)
.writeAsync(path + suffix).catch(function(err) { // note #writeAsync is promisification
throw (err); //don't swallow the error
});
Существует множество документации, посвященной устранению ошибок, связанных с правами доступа. Однако было неясно, как в этой ситуации, когда мой экземпляр Node работает на safeuser
, как ему можно предоставить доступ к набору командной строки ImageMagick. Кроме того, safeuser
мог выполнять операции с файловой системой, так как папки были привязаны к нему. Так что часть подозрений снимается.
Любая помощь, пожалуйста?