2013-04-08 6 views
544

Я использовал nvm для загрузки узла v0.4.10 и установки npm для работы с этой версией узла.Как установить предыдущую версию пакета npm?

Я пытаюсь установить экспресс используя

npm install express -g 

и я получаю сообщение об ошибке, выражающей требует узел версии> = 0.5.0.

Ну, это нечетно, так как я следую указаниям для учебника here узла + express + mongodb, который использовал узел v0.4.10, поэтому я предполагаю, что экспресс есть/был доступен узлу v0.4.10. Если мое предположение верно, как я могу указать npm для получения версии, которая будет работать с моей настройкой?

+6

Почему бы вам просто не обновить версию своего узла? Довольно уверен, что должно быть гораздо больше хороших дополнений, чем сломанное поведение, которое вы найдете. –

ответ

955

Если вам нужно установить более старую версию пакета, просто указать его

npm install <package>@<version> 

Например: npm install [email protected]

Вы также можете добавить --save флаг этой команды, чтобы добавить его в свой пакет .json или --save --save-exact, если вы хотите, чтобы эта точная версия указывалась в ваших зависимостях package.json.

Команда install описана здесь: https://docs.npmjs.com/cli/install

Если вы не знаете, какие версии пакета доступны, вы можете использовать:

npm view <package> versions 

И npm view можно использовать для просмотра других вещей о пакете тоже. https://docs.npmjs.com/cli/view

+1

Я полагаю, что это установит ближайшую крупную версию, которая соответствует, поэтому может быть не так, как вы ожидаете http://stackoverflow.com/a/22345808/1074400 –

+1

@AakilFernandes, если вы укажете точную версию, будет установлена ​​точная версия , Если вы укажете диапазон семантической версии, вы можете получить неточное соответствие. В этом нет ничего уникального в команде установки. –

+0

Также стоит отметить, что при запуске «npm install express» вы фактически запускаете «npm install express @ latest» –

52

сначала удалить старую версию, то

npm install [email protected] 
+7

Является ли это буквальным 'X' или stand-in для некоторого числового номера версии? –

+0

Да, как 3.1.0, 3.2.0, 3.4.0 и т. Д. –

+6

Это был вопрос или вопрос, а не вопрос «да/нет». Я попробовал «npm install express @ 3.X», и он, похоже, сработал. Является ли это особенностью или случайностью того, как «npm» анализирует номер версии? –

34

На мой взгляд, что это самый простой и быстрый способ:

$ npm -v

4.2.0

$ npm install -g [email protected]

..

$ npm -v

3.10.10

+1

Чтобы перейти с npm5 на npm4, он также работает! –

Смежные вопросы