2016-09-23 10 views
0

Как установить последнюю доступную версию пакета npm? «@latest» уверен, что не приносит последние результаты - я предполагаю, что это означает новейшую конюшню или что-то в этом роде.Как установить последнюю возможную версию пакета npm

Я использовал хак на некоторое время, потому что я не могу найти любую информацию по этому вопросу:

npm i [email protected] 

«X» приводит к сбою и сбросить все возможные версии, где я тогда копировать и вставьте правильный вместо «X». Своего рода смешно.

Я пробовал сторонние пакеты, такие как «новейшая версия», но все они не могут получить самую последнюю версию.

Похоже, что это не должно быть официальное лицо. Например, на момент написания последней версии extract-text-webpack-plugin: 2.0.0-beta.4. Однако делать:

npm i [email protected] 

Поставят «1.0.1»

Я могу видеть последнюю версию, выполнив

npm info pkg versions --json (without --json it will cut off when there are many versions) 

Из-за отсутствия фактического инструмента, который я предполагаю, что его будет какой-то Grep Работа.

+0

Почему в мире это было бы опущено. Как насчет ответа на очень четкий вопрос? Оставьте этот троллированный веб-сайт. – cyberwombat

ответ

2

Версия 1.0.1является «новейшей» версией этого пакета - опубликованная в НОМ реестр по крайней мере (tagged в latest)

Из документов для cli/dist-tag. Акцент мой.

Метки могут использоваться для предоставления псевдонимов вместо номеров версий.

Например, проект может выбрать несколько потоков разработки и использовать для каждого потока другой тег, например, stable, beta, dev, canary.

По умолчанию последний идентификатор используется npm для идентификации текущей версии пакета, а установка npm (без каких-либо спецификаторов @ или @) устанавливает последний тег. Как правило, проекты используют только последний тег для стабильных версий релиза и используют другие теги для нестабильных версий, таких как preleases.

По умолчанию, кроме последнего, никакой тег не имеет особого значения для самого нью.

Если вы хотите beta releases, а затем установите его из GitHub или используйте теги явно.

$ npm install webpack/extract-text-webpack-plugin 

Это сделано довольно ясно reading the manual.

Еще более ясно:

latest является неявного тега, прикрепленного к любой опубликованной версии пакета, который был не опубликовано с Явный тег (--tag).

Установка [email protected] просто ищет выпуск с пометкой как latest в реестре. В случае этого пакета это релиз 1.0.1. Вот и все. Здесь ничего особенного не происходит. @latest не тянет самую последнюю версию, опубликованную в npm

версии, перечисленные в качестве бета-версии были помечены по-разному. Очевидно, ни один из них не был помечен как latest, поэтому попытка использовать @latest для его получения бессмысленна.

Из реестра:

'dist-tags': { latest: '1.0.1', beta: '2.0.0-beta.4' } 

Снова используйте GitHub высвобождает для кровотечения краев, или использовать версии/тег в явном виде.

$ npm install [email protected] 

Здесь вы идете, сделанный специально для Вас:

конденсироваться это в сценарий оболочки, и вы хорошо идти:

$ npm install [email protected]$(recent-version extract-text-webpack-plugin) 
+0

За исключением последней версии, доступной через npm, является '2.0.0-beta.4', которую можно установить, указав эту версию неявно. И, как вы видите, @latest не получит эту версию. Тот факт, что npm будет отображать «2.0.0-beta.4», ясно указывает на то, что он знает о версии. Я чувствую, что это делает его слишком сложным для его получения. – cyberwombat

+0

Несмотря на то, что мой последний комментарий удаляется, я повторю: вам нужно внимательно прочитать руководство. Я чувствую себя сломанной записью, пытаясь объяснить это вам. Отмечаться как «последний» не означает, что это последняя опубликованная версия. – Oka

+0

Этот последний сценарий оболочки - это то, что я искал. Благодарю. – cyberwombat

0

Использование npm update до тех пор, пока у вас есть установленный пакет:

npm update <package> 
+0

Huh .. Нет. Прежде всего вопрос об установке, а во-вторых, 'update' имеет ту же самую проблему. Он не будет обновляться до самого последнего. Спасибо хоть. – cyberwombat

+0

@Yashua, пожалуйста, сообщите точную ошибку. – baranskistad

+0

Нет ошибок. Спросить, не упустил ли я что-то в документации. Насколько я могу сказать, это невозможно, что кажется странным. – cyberwombat