Я использую rsync
module с узлом v0.10.22
. Rsync завершает с кодом 23
(Частичный перенос из-за ошибки) при запуске с узла, но успешно выполняется из той же самой точной оболочки, что и разбитый процесс узла.Ошибка Rsync с кодом выхода 23 только при запуске с узла
Вот код, я использую:
var r = new Rsync()
.flags('a')
.include('*.png')
.exclude('*')
.source(path.join('source/*'))
.destination('target')
.execute(function (err, code, cmd) {
if (err && code === 23) {
console.log('Exited with 23');
console.log(cmd);
}
});
cmd
, вошедший выглядит следующим образом:
rsync -a --include="*.png" --exclude="*" source/* target
Когда я исполняю, что точная команда после узла происходит сбой в одной оболочке командной возвращает 0
(ошибок нет, это сработало).
Я посмотрел на rsync.js
, где она нерестится команду:
// Execute the command as a child process
var cmdProc = spawn(this.executable(), this.args(), { stdio: 'pipe' });
this.executable()
возвращается 'rsync'
. this.args()
возвращение ['-a', '--include="*.png"', '--exclude="*", 'source/*', 'target/']
.
Что здесь происходит? Почему я получаю другой код выхода при работе с узлом, а не в той же оболочке, где я запускаю узел?
Редактировать: Я установил разрешения для каждой директории как 777
, и я все еще получаю ту же ошибку.
в каком 'cwd' запуске' '' '' '' '' '' '' '' '' '' '' '' '' – Mohsen
Добавьте 'console.log (err)' также и добавьте его в свой пост. Должна быть дополнительная информация о причине ее отказа. –
Пути на самом деле абсолютные, поэтому это не имеет значения. Я сократил их ради этого вопроса. Чтобы быть уверенным, я изменил команду 'spawn', чтобы установить свойство' cwd' в корневой каталог моего проекта, и у меня все еще проблема. – KPthunder