Я использовал nvm для загрузки узла v0.4.10 и установил npm для работы с этой версией узла.
Я пытаюсь установить экспресс с помощью
npm install express -g
и я получаю сообщение об ошибке, что Express требует версии узла> = 0.5.0.
Ну, это странно, так как я , следуя инструкциям на узле + экспресс + MongoDB учебник здесь , что используемый узел v0.4.10, поэтому я предполагаю , что экспресс / была доступна для узла v0.4.10. Если мои предположения верны, как я могу сказать npm выбрать версию, которая будет работать с моими настройками?
Ответы:
Если вам нужно установить более старую версию пакета, просто укажите ее
Например:
npm install express@3.0.0
Вы также можете добавить
--save
флаг к этой команде, чтобы добавить его в ваши зависимости package.json, или--save --save-exact
пометить, если вы хотите, чтобы точная версия была указана в ваших зависимостях package.json.Команда
install
задокументирована здесь: https://docs.npmjs.com/cli/installЕсли вы не уверены, какие версии пакета доступны, вы можете использовать:
И
npm view
может быть использован для просмотра других вещей о пакете тоже. https://docs.npmjs.com/cli/viewисточник
npm view <package> versions -json
чтобы увидеть каждую версию, избегая многоточия в конце списка со многими версиями.npm install express@3.0.0
, вы не получите точную версию 3.0.0, вы получите самую последнюю версию 3.xx. Чтобы получить конкретную версию, вы должны использоватьnpm install express@3.0.0 --save-exact
. Смотрите этот пост в блоге: 60devs.com/npm-install-specific-version.htmlnpm install express@3.0.0
вы получите именно версию 3.0.0.npm install express@^3.0.0
Получит последнюю версию 3.xx, которая--save-exact
влияет на то, как она написана на packages.json, о чем я уже говорил в своем ответе. Также обратите внимание,--save-exact
должен использоваться в сочетании с--save
или--save-dev
- недостаточно использовать его сам по себе.Это довольно просто. Просто напишите это, например:
Или:
источник
latest
иnext
версии!-g
флаг предназначен специально для пакетов, которые вы хотите установить глобально, так как многие пользователи попадают на эту страницу и просто копируют / вставляют, не понимая, как они собираются повлиять на экосистему своих пакетов. Мы все были «тем парнем»Сначала удалите старую версию, затем выполните буквально следующее:
и для стабильной или недавней
источник
X
или заменой некоторого числового номера версии?npm install express@3.X
, и это, казалось, сработало. Это особенность или случайный способnpm
разбора номера версии?npm
разбирает, см: docs.npmjs.com/misc/semver#x-ranges-12x-1x-12-X
.На мой взгляд, это самый простой и быстрый способ:
$ npm -v
4.2.0
$ npm install -g npm@latest-3
...
$ npm -v
3.10.10
источник
Вы можете обновить свой пакет npm с помощью этой команды:
npm install <package_name>@<version_number>
пример:
npm install yargs@12.02
источник
У меня есть общий способ решения этого типа проблем, который также может быть полезен, особенно при клонировании репозиториев для их локального запуска, но требует немного большего анализа версий.
С помощью пакета
npm-check-updates
я проверяю версии пакетов (в соответствии с файлом package.json), которые не объявлены в их последних доступных версиях, как показано на рисунке ( https://www.npmjs.com/package/npm-check -обновления ):С помощью этой информации мы можем проверить статус обновления различных пакетов и принять решение о том, какие пакеты обновлять / ухудшать, а какие нет.
Предполагая, что мы решили обновить все пакеты по мере их перечисления, мы можем использовать
ncu -u
команду, которая только изменяет ваш файл package.json. Запуститеnpm install
для обновления установленных пакетов и package-lock.json.Затем, в зависимости от требований хранилища, мы можем уточнить, что нужно, установив конкретные версии с помощью
npm view <package> versions
иnpm install <package>@<version>
источник
npm install -g npm@version
в котором вы хотите понизить
npm install -g npm@3.10.10
источник
-g
(для глобальной установки, затем он попадает в директорию вашего текущего проекта/node_modules
) и да,--save
или--save-dev
для получения записиpackage.json
Вы можете использовать следующую команду для установки предыдущей версии пакета npm:
источник
Для пользователей пряжи:
источник
В Ubuntu вы можете попробовать эту команду.
Конкретная версия: sudo n 8.11.3 вместо sudo n stable
источник