używam wersji 3.6.0 npm i węzeł Verison 5.6.0 na Windows 10:aktualizacja npm -g nie robi nic, chociaż mam przestarzałe pakiety
> 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' }
>
Mam liczbę zainstalowanych na całym świecie pakietów KMP:
> 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]
>
Po uruchomieniu npm outdated -g
kilka pakietów jest wymienionych jako nieaktualne.
> 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
Kiedy biegnę npm update -g
powraca (po kilku sekundach) bez jakiegokolwiek komunikatu ostrzegawczego lub błędów. Jednak żadne pakiety nie zostały zaktualizowane.
> npm update -g
>
Jak interpretować this issue, npm update -g
powinien działać i należy zaktualizować top poziomie globalnym pakiety. Ale dla mnie to nie działa.
Jeśli biegnę (dzięki Benjamin Kaiser za cynk):
> npm update -g --loglevel verbose
dostaję dużo mocy. To wydaje się być najważniejsze:
npm verb outdated not updating tslint because it's currently at the maximum version
that matches its specified semver range
Nadal nie całkiem rozumiem. Ponieważ pakiety są globalne, nie ma określonego zakresu średniego?
Uruchamianie aktualizacji na dany pakiet nie pomaga:
> npm update -g tslint
>
Nawet określenie wersji ma żadnej różnicy:
> npm update -g [email protected]
>
Ale nawet jeśli pracowali Wolałbym nie trzeba jawnie aktualizuj każdy pakiet. Dla mnie główną cechą menadżera pakietów powinno być ułatwienie aktualizacji wszystkiego na raz.
This issue dźwięki powiązane. Ale kiedy patrzę na tslint npm module, "ostatni" wydaje się być 3.4.0. Dlaczego więc nie ma aktualizacji?
Czy próbowałeś dodać flagę '--loglevel verbose', aby sprawdzić, czy coś może się wydarzyć na niższym poziomie rejestru? Ze wszystkiego, co powiedziałeś, twoja wersja npm powinna być aktualna, aby uruchomić to polecenie. –
Dzięki @BenjaminKaiser, przedłużyłem moje pytanie o wyniki ustawienia tej flagi –
To bardzo dziwne, masz rację, że jest globalne i jako takie nie powinno mieć żadnego sembera. Może spróbuję wymazać pakiety globalne i zacząć od nowa. Może reinstalacja npm również do najnowszej wersji (3.7.4 myślę) –