Менеджер архивов NodeJS

Мне нужно получить содержимое архивов, а затем я хочу распаковать выбранный архив, но я не хочу распаковывать архивы, чтобы узнать, что в нем. Я хотел бы перечислить и распаковать хотя бы zip а также rar, но (если это возможно) я не хочу ограничиваться только этими двумя.

Можете ли вы посоветовать хорошие модули npm или другие проекты для достижения этой цели?

Вот что я придумал:

  1. zipЯ обнаружил, что node-zip может распаковывать только файлы, но не архивировать содержимое списка.
  2. rarЛучшее решение кажется node-rar, но я не могу установить его на Windows.
  3. node-uncompress Это делает то, что говорит: это "оболочка командной строки для распаковки файлов различных типов". Таким образом, снова нет возможности перечислять содержимое архива.

В настоящее время я пытаюсь получить node-uncompress список файлов и, надеюсь, он никогда не должен работать кроссплатформенным.

1 ответ

Решение

Решение:

Я сейчас использую 7zip с модулем узла node-7z вместо того, чтобы пытаться заставить каждый архив работать самостоятельно. Соответствующий сайт: https://www.npmjs.com/package/node-7z

Эта библиотека использует независимый от ОС менеджер архивов 7zip. На Windows 7za используется. Msgstr "7za.exe (только один) - это автономная версия 7-Zip". Я протестировал его на Windows и Ubuntu, и он отлично работает.

Обновить:

В Windows: почему-то я только что заработал, добавив 7za к переменным Path, а не добавив 7za.exe в "ту же директорию, что и ваш файл package.json". как говорится в описании.

Обновление 2:

В Windows 7za, которая упоминается в сообщении node-7z, не может обработать .rar-Архив. Поэтому я использую "случайный" 7-zip вместо 7za.exe. Я только что переименовал коммэнлин 7z.exe в 7za.exe и добавил папку 7-zip в переменные пути.

Другие вопросы по тегам