Ошибка [ERR_STREAM_CANNOT_PIPE]: невозможно передать, не читается nodejs - PullRequest
0 голосов
/ 16 января 2020
function unzipCode() {
    console.log('Unzipping contents...');
    return new Promise((resolve, reject) => {
      const files = [];
      unzip.open(filePath, { autoclose: false, lazyEntries: true }, (err, zipfile) => {
        if (err) reject;
        zipfile.readEntry();
        zipfile.on('entry', (entry) => {
          if (!sourceDirectoryRegEx.test(entry.fileName)) {
            console.log("  [X] Skipping: " + entry.fileName);
            zipfile.readEntry();
          }
          else {
            console.log("  [+] Unzipping: " + entry.fileName);
            if (/\/$/.test(entry.fileName)) {
              // directory file names end with '/'
              mkdirp(path.join(cwd, entry.fileName), (err) => {
                if (err) reject;
                zipfile.readEntry();
              });
            }
            else {
              zipfile.openReadStream(entry, (err, readStream) => {
                if (err) reject;
                // ensure parent directory exists
                mkdirp(path.join(cwd, path.dirname(entry.fileName)), (err) => {
                  if (err) reject;
                  let stream = fs.createWriteStream(path.join(cwd, entry.fileName));

                  readStream.pipe(stream, { end: false });

                  //    console.log(readStream.pipe);
                  readStream.on('end', () => {
                    console.log('After write', entry.fileName);
                    // add file details to files array
                    files.push({
                      key: entry.fileName,
                      body: stream,
                    });
                    zipfile.readEntry();

                    readStream.unpipe(stream);
                    stream.end();
                  });
                });
              });
            }
          }
        });
        zipfile.once('end', () => {
          zipfile.close();
          resolve(files);
        });
      });
    });
  }

Я пытаюсь распаковать некоторые файлы в aws -lambda при помощи этой функции. Выбранная мной среда nodejs 12.x. Он работал с nodejs 8.10. Точная ошибка, с которой я сталкиваюсь: Невозможно передать, не читается . Как это решить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...