Как на самом деле работает `npm устаревший -g`? - PullRequest
0 голосов
/ 21 февраля 2020

У меня есть несколько глобально установленных пакетов, и я хочу обновить некоторые из них. Я проверял с помощью

$ npm outdated -g
Package                 Current  Wanted  Latest  Location
eslint                   5.16.0  5.16.0   6.8.0  global
jshint                   2.10.2  2.11.0  2.11.0  global
n                        2.1.12  2.1.12   6.2.0  global
npx                      10.2.0  10.2.2  10.2.2  global

Я пытался

$ npm update -g eslint --dd

, но получил сообщение

outdated not updating eslint because it's currently at the maximum version that matches its specified semver range

Я проверял документацию с

$ npm help outdated
  • требуемый - это максимальная версия пакета, которая удовлетворяет диапазону, указанному в пакете. json. Если нет доступного диапазона semver (т. Е. Вы используете npm устаревший --global или пакет не включен в пакет . json), тогда wanted показывает установленную на данный момент версию.

Но это явно не так, потому что

$ npm update -g jshint

сработало и значения Current и Wanted для пакета jshint были разные до обновления. Как на самом деле определяется значение wanted?

Дополнительный вопрос: Каков npm способ обновления всех устаревших пакетов и как npm способ обновления одного пакета?

РЕДАКТИРОВАТЬ:

Чтобы проверить, связано ли это с старшими и младшими номерами версий, я установил

$ npm install -g n@6.1.0
$ npm install -g eslint@6.7.0
$ npm install -g generator-wombytes-cpp@0.2.0

и обновил другие пакеты. Теперь вывод

$ npm outdated -g
Package                 Current  Wanted  Latest  Location
eslint                    6.7.0   6.8.0   6.8.0  global
generator-wombytes-cpp    0.2.0   0.2.0   0.3.0  global
n                         6.1.0   6.2.0   6.2.0  global

Для этих пакетов другое поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...