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

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

  • автор:

как поменять версию 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 или 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 install -g npm@ . Замените , на ту версию npm которую вы хотите установить. Пакет npm устанавливается глобально, поэтому вам нужно добавить флаг -g , в том случае когда вам нужно понизить его версию.

В качестве примера предположим, что у вас установлен npm версии 8. Мы понизим его до версии 7:

$ npm -v 8.12.1 $ npm install -g npm@7 # дождитесь завершения установки $ npm -v 7.24.2

Как видно из фрагмента приведенного выше, команда npm install перезапишет любой существующий пакет с таким же именем.

Вы можете указать полную версию manor.minor.patch или указать только основную версию, как показано выше (npm будет использовать последнюю minor версию и patch версию , если они не определены).

В итоге, пакет npm, который вы использовали для запуска команд npm — это просто еще один пакет, устанавливаемый глобально при установке Node.js на свой компьютер. Чтобы понизить его, вам нужно перезаписать установленную версию с помощью команды npm install -g npm@ .

Полезные команды для работы с Node.js

Перед тем как рассматривать полезные команды при работе с Node.js, её необходимо установить.

Команды помогают узнать версию Node.js,

node -h — показывает список всех доступных команд Node.js.

node -v , node —version — показывает установленную версию Node.js.

npm -h — показывает список всех доступных команд пакетного менеджера npm .

На скриншоте часть команд, доступных вместе с npm

npm -v , npm —version — показывает установленную версию npm .

Обе команды дают одинаковый результат

Команда npm update npm -g позволяет обновить версию npm .

npm list —depth=0 показывает список установленных пакетов.

Список установленных пакетов может быть довольно длинным, особенно, если вы давно пишете код.

Команда npm outdated —depth=0 покажет список установленных пакетов, которые требуют обновления. Если все пакеты обновлены, список будет пустым.

npm install package — позволяет установить любой пакет по его имени. Если при этом к команде добавить префикс -g пакет будет установлен глобально на весь компьютер.

Процесс установки gulp

Команда npm i package является укороченной альтернативой предыдущей команды.

Если вы хотите установить конкретную версию пакета, воспользуйтесь префиксом @ с номером версии. Например, npm install package@1.0.1 .

npm uninstall package — удаляет установленный пакет по имени.

Команда npm list package — покажет версию установленного пакета, а команда npm view package version — последнюю версию пакета, которая существует.

Для работы с пакетным менеджером также пригодится файл package.json , который должен лежать в директории, с которой происходит работа в консоли.

Файл package.json

Он содержит различные мета-данные, например, имя проекта, версия, описания и автор. Также он содержит список зависимостей, которые будут установлены, если вызвать из этой папки команду npm install .

Кроме этого он ещё имеет скрипты, которые вызывают другие команды консоли. Например, для этого файла вызов команды npm start вызовет запуск задачи Grunt с именем dev . А команда npm run build вызовет скрипт build , который запустит задачу в Grunt с именем build .

Во время работы часто возникает необходимость установить некоторые пакеты. Если установить пакет с префиксом —save , то он автоматически запишется в package.json в раздел dependencies . Такая же команда с префиксом —save-dev запишет пакет в раздел devDependencies .

nvm (илиNode Version Manager) — утилита, которая позволяет быстро менять версии Node.js.

Чтобы её установить, достаточно запустить скрипт

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash 

Теперь можно установить последнюю версию Node.js, например, 5.0 с помощью команды nvm install 5.0 . Чтобы начать использовать её, введите команду nvm use 5.0 . Таким образом, можно быстро переключаться между версиями, например, для тестирования.

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

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

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