Менеджер архивов NodeJS
Мне нужно получить содержимое архивов, а затем я хочу распаковать выбранный архив, но я не хочу распаковывать архивы, чтобы узнать, что в нем. Я хотел бы перечислить и распаковать хотя бы zip
а также rar
, но (если это возможно) я не хочу ограничиваться только этими двумя.
Можете ли вы посоветовать хорошие модули npm или другие проекты для достижения этой цели?
Вот что я придумал:
zip
Я обнаружил, что node-zip может распаковывать только файлы, но не архивировать содержимое списка.rar
Лучшее решение кажется node-rar, но я не могу установить его на Windows.- 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 в переменные пути.