Перейти к содержимому

Как откатить npm до старой версии

  • автор:

NPM: установка определенной версии пакета

NPM или Node Package Manager — это мощный инструмент, который позволяет вам легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель — помочь вам загрузить и установить пакеты Node из своего репозитория в ваш проект.

Загрузка и установка пакета выполняется с помощью команды NPM install :

$ npm install express + express@4.17.1 added 50 packages from 37 contributors and audited 126 packages in 3.262s found 0 vulnerabilities 

Когда вы выполняете команду install , подобную этой, по умолчанию она получает последнюю версию указанного пакета, которая в данном случае v4.17.1 (на момент написания этой статьи).

Но что, если нам нужна другая версия? Возможно, эта последняя версия нарушает нужную нам функцию, или, может быть, в ней есть уязвимость безопасности, которую разработчик еще не удосужился исправить. В таких случаях вы, вероятно, захотите установить конкретную версию пакета, который, как вы знаете, работает или который, как вы знаете, «безопасен».

Для этого мы можем указать версию, используя синтаксис npm install [package]@[version] . Продолжая наш пример выше, мы выполнили бы что-то вроде этого:

$ npm install express@4.16.1 + express@4.16.1 added 48 packages from 36 contributors and audited 121 packages in 2.986s found 0 vulnerabilities 

Как видите, NPM установил указанный нами пакет.

С NPM у нас также есть другие варианты для указания версии пакета. Используя каретку ( ^ ) или тильду ( ~ ), мы можем указать последнюю минорную версию или версию патча соответственно. Таким образом, вы можете указать совместимую версию пакета, но все равно получите самую последнюю версию.

Так, например, если вы хотите использовать Express версию 4.16, но версия патча не важна, вы можете использовать тильду, чтобы сообщить NPM и получить последнюю версию патча:

$ npm install express@~4.16.1 + express@4.16.4 added 48 packages from 36 contributors and audited 121 packages in 3.02s found 0 vulnerabilities 

Так как мы добавили префикс к версии ~ , NPM получил последнюю версию патча под второстепенной версией 4.16, которая оказалась 4.16.4.

Это хорошо, когда вам не нужна конкретная версия, но вы хотите постоянно обновлять свои зависимости с помощью последних исправлений и исправлений уязвимостей.

Снижение версии npm до более старой версии

Я попытался обновить npm , чтобы увидеть, решит ли это некоторые проблемы с зависимостями, с которыми мы столкнулись, и теперь я хочу понизить версию до версии, которую использует остальная команда разработчика. Как мне установить более старую версию?

Я обновил npm в соответствии с инструкциями на О версиях npm CLI :

Последний выпуск npm

Последний выпуск npm является самой последней стабильной версией. При установке Node.js, npm устанавливается автоматически. Однако, npm выходит чаще, чем Node.js, поэтому чтобы установить последнюю стабильную версию npm , в командной строке выполните:

npm install npm@latest -g

Поделиться Источник 25 сентября 2017 в 22:54

5 ответов

Просто замените @latest на номер версии, на которую вы хотите понизить версию. Я хотел понизить версию до версии 3.10.10, поэтому использовал эту команду:

npm install -g npm@3.10.10 

Если вы не уверены, какую версию следует использовать, посмотрите на историю версий. Например, вы можете видеть, что 3.10.10 является последней версией npm 3.

Поделиться 25 сентября 2017 в 22:54

Просто нужно добавить версию, которую вы хотите

npm install -g npm@version 

Пример, если вы хотите понизить версию с npm 5.6.0 до 4.6.1, то,

npm install -g npm@4.6.1 

Это протестировано на Linux

Поделиться 03 января 2018 в 06:42

npm install -g npm@4 

Это установит последнюю версию на основной релиз 4, поэтому нет необходимости указывать номер версии. Замените 4 на любой основной релиз, который вы хотите.

Поделиться 21 марта 2018 в 10:24

Даже если я запускаю npm install -g npm@4 , это не нормально для меня.

Наконец, я загружаю и устанавливаю старую версию node.js.

Это версия npm 4.

Поделиться 28 марта 2018 в 06:45

NVM (Менеджер версий узла) также является опцией. Установка находится здесь.

Мы можем понизить/обновить версии узла на лету, используя этот инструмент.

nvm -v nvm install vX.Y.Z nvm ls nvm list available nvm use X.Y.Z 

как поменять версию NPM на старую

Начал осваивать REACT. Такая проблема, запускаю в командной строке, чтобы создать проект REACT: create-react-app MyAppName получаю ошибку:

 at JSON.parse () at Object.Module._extensions..json (module.js:668:27) at Module.load (module.js:561:32) at tryModuleLoad (module.js:501:12) at Function.Module._load (module.js:493:3) at Module.require (module.js:593:17) at require (internal/module.js:11:18) at Object. (C:\Users\xxx\AppData\Roaming\npm\node_modules\create-react-app\createReactApp.js:52:21) at Module._compile (module.js:649:30) at Object.Module._extensions..js (module.js:660:10) 

прочитал вариант с npx, npx create-react-app myAppName ошибка npx: installed 1 in 12.735s The «path» argument must be of type string C:\Users\Ustas\AppData\Roaming\npm\node_modules\create-react-app\index.js C:\Users\Ustas\AppData\Roaming\npm\node_modules\create-react-app\package.json: Unexpected string in JSON at position 520 прочитал, что нужно NPM версии 4. , из-за этого проблема. У меня версия NPM 5.6.0 Как установить старую версию, и поможет ли ? Как-то глупо. Может кто подскажет как создать болванку REACT без танца с бубном ? Или откатить NPM до версии 4.

Ошибка при обновлении или откате версии npm?

Всем доброго времени суток! Понадобилось откатить до старой версии npm,но после того, как прописываю «npm install -g n» выдает ошибку.

5eab989d5faef293183220.png

Скриншот консоли:

  • Вопрос задан более трёх лет назад
  • 235 просмотров

8 комментариев

Простой 8 комментариев

RAX7

32-битная винда не поддерживается этим пакетом, нужна 64-битная
rmN13 @rmN13 Автор вопроса

5eaba7e0c2dd0047614031.png

RAX7,

RAX7

rmN13, да ошибся, он вообще винду не поддерживает

(Note: n is not supported natively on Windows.)
https://github.com/tj/n

rmN13 @rmN13 Автор вопроса

RAX7, Хорошо. В таком случае, что делать чтоб откатить до старой версии ?) Просто, мне это понадобилось, т.к. при использовании пакета «json-server» у меня кидает ошибку, в которой что то связано с модулями es6, как я понял и во многих ответах по этой проблеме советуют откатить nodejs до более старой версии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *