Node.js
Как распаковать пакет прошлой версии Node.js: архив, bin и проверка
Короткий ответ: скачайте архив нужной версии из официального архива Node.js, распакуйте его и запускайте бинарный файл из папки bin. Но для обычной разработки почти всегда проще и безопаснее использовать nvm, потому что он сам ставит нужную версию и переключает окружение
Запрос «как распаковать пакет прошлой версии node js» обычно возникает, когда человеку нужна старая версия Node.js, но он не хочет или не может ставить ее обычным установщиком. Это может быть сервер без прав администратора, изолированная среда, старый проект или ручная диагностика
Где брать старые версии
Используйте официальный архив Node.js
https://nodejs.org/download/release
Выберите нужную версию и файл под свою систему. Для Linux это часто архив .tar.xz, для Windows — архив или установщик, для macOS — пакет или архив
Не скачивайте старые версии с случайных сайтов. Node.js выполняет код, поэтому источник установщика или архива имеет значение
Пример для Linux или macOS
Допустим, у вас архив node-v16.20.2-linux-x64.tar.xz. Распакуйте его
tar -xf node-v16.20.2-linux-x64.tar.xz
Перейдите в папку
cd node-v16.20.2-linux-x64
Проверьте бинарный файл
./bin/node -v
./bin/npm -v
Если вывод показывает нужную версию, архив распакован и Node.js из него запускается
Как запустить файл через распакованный Node.js
Создайте рядом тестовый файл test.js
console.log(process.version);
console.log("Старая версия Node.js запущена из архива");
Запустите его конкретным бинарным файлом
./bin/node test.js
Так вы не меняете системный Node.js, а явно запускаете программу нужной версией
Нужно ли добавлять архив в PATH
Можно добавить bin распакованной версии в PATH, но новичку лучше не делать это без необходимости. Если ошибиться, терминал начнет запускать старую версию вместо новой, а потом будет трудно понять, почему проекты ведут себя странно
Для разового запуска безопаснее писать полный путь
/path/to/node-v16.20.2-linux-x64/bin/node app.js
Для регулярной работы лучше использовать nvm
Почему nvm удобнее архива
nvm решает ту же задачу аккуратнее
nvm install 16
nvm use 16
node -v
Он не требует руками выбирать архив, распаковывать папку, добавлять PATH и помнить точный путь к бинарному файлу. Ручная распаковка нужна в особых случаях, а не как первый способ установки
Что делать на Windows
На Windows обычно проще скачать установщик нужной версии или использовать nvm-windows. Ручной архив тоже возможен, но тогда нужно явно запускать node.exe из распакованной папки или аккуратно настраивать PATH
Проверка будет такой
.\node.exe -v
Если вы не уверены, лучше не смешивать архив, установщик и nvm-windows одновременно
Мини-практика
Скачайте архив старой версии только из официального архива, распакуйте его во временную папку и запустите ./bin/node -v. Затем создайте test.js и запустите его именно через ./bin/node
После практики удалите временную папку, если она больше не нужна. Так вы не оставите на системе случайную старую версию
Частые ошибки
Распаковали архив, но команда node показывает другую версию Вы запускаете системный Node.js, а не бинарный файл из архива. Используйте ./bin/node -v
Добавили старый Node.js в PATH и забыли Потом новые проекты могут запускаться на старой версии. Проверьте which node или where node
Скачали архив не под свою систему Linux, macOS, Windows и разные архитектуры требуют разные файлы. Если бинарный файл не запускается, проверьте, тот ли архив выбран
Ручной архив используют для постоянной разработки Для регулярной работы лучше nvm. Ручная распаковка удобна для диагностики или разового запуска
Что почитать дальше по Node.js
Если нужен общий маршрут по теме, откройте рубрику Node.js. Для соседних задач пригодятся эти разборы:
- Как установить npm: вместе с Node.js, проверка версии и первый пакет
- Как обновить Node.js до 16: nvm, проверка версии и старые проекты
- Как добавить Node.js в PATH: Windows, macOS, Linux и проверка
- Как поставить определенную версию Node.js: nvm, engines и проверка