Я использую npm версии 3.6.0 и версию узла 5.6.0 в Windows 10:
> npm version
{ npm: '3.6.0',
ares: '1.10.1-DEV',
http_parser: '2.6.1',
icu: '56.1',
modules: '47',
node: '5.6.0',
openssl: '1.0.2f',
uv: '1.8.0',
v8: '4.6.85.31',
zlib: '1.2.8' }
>
У меня есть несколько глобально установленных пакетов npm:
> npm ls -g --depth=0
C:\Users\Klas\AppData\Roaming\npm
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
>
Если я запускаю npm outdated -g
, несколько пакетов отображаются как устаревшие.
> npm outdated -g
Package Current Wanted Latest Location
jspm 0.16.25 0.16.25 0.16.29
live-server 0.9.0 0.9.0 0.9.2
protractor 3.0.0 3.0.0 3.1.1
tslint 3.2.2 3.2.2 3.4.0
webpack 1.12.11 1.12.11 1.12.13
Когда я запускаю npm update -g
, он возвращается (через пару секунд) без каких-либо предупреждений или сообщений об ошибках. Однако ни один пакет не был обновлен.
> npm update -g
>
Как я интерпретирую эту проблему, npm update -g
должен работать и должен обновлять глобальные пакеты верхнего уровня. Но, похоже, это не работает для меня.
Если я побегу (спасибо Бенджамину Кайзеру за подсказку):
> npm update -g --loglevel verbose
Я получаю много продукции. Это кажется наиболее актуальным:
npm verb outdated not updating tslint because it's currently at the maximum version
that matches its specified semver range
Я все еще не совсем понимаю. Поскольку пакеты являются глобальными, нет определенного диапазона semver?
Запуск обновления для определенного пакета также не помогает:
> npm update -g tslint
>
Даже не указание версии не имеет значения:
> npm update -g [email protected]
>
Но даже если бы это сработало, мне бы не пришлось явно обновлять каждый пакет. Для меня главной особенностью менеджера пакетов должно быть простое обновление всего сразу.
Эта проблема кажется связанной. Но когда я смотрю на модуль tslint npm, кажется, что "последняя версия" - 3.4.0. Так почему без апгрейда?
npm -g update
. 03.01.2017npm
поведение, каковы его последствия и есть ли способ его изменить. Прямо сейчас у нас есть команда, которая решает проблему, но реального понимания проблемы нет. 01.04.2018