Uważam, że dzieje się tak, ponieważ rozdzielczość zależności jest nieco zepsuta, patrz https://github.com/npm/npm/issues/1341#issuecomment-20634338
Oto możliwe rozwiązanie:
Ręcznie zainstaluj moduły najwyższego poziomu, zawierające niezaspokojone zależności:
npm install [email protected]
Przebuduj swój pakiet.json. Umieść wszystkie moduły wysokiego poziomu (służy jako zależność dla innych modułów) na dole.
Ponownie uruchom npm install
polecenie.
Problem może być spowodowany tym, że npm nie udało się pobrać całego pakietu z powodu przekroczenia limitu czasu lub coś innego.
Uwaga: Możesz również zainstalować uszkodzone pakiety ręcznie, używając npm install [email protected]
.
Przed uruchomieniem npm install
pomocne mogą być następujące kroki:
- usuń node_modules za pomocą
rm -rf node_modules/
- biegać
npm cache clean
Dlaczego czasami konieczne jest „usuwanie węzłów”? Jeśli podczas instalacji moduł zagnieżdżony nie zostanie zainstalowany npm install
, kolejne npm install
nie wykryją brakujących zagnieżdżonych zależności.
W takim przypadku czasami wystarczy usunąć zależność najwyższego poziomu brakujących modułów zagnieżdżonych i uruchomić npm install
ponownie. Widzieć
npm cache clean
nie działa z powodów dostępu, spróbujsudo npm cache clean
.Zdarzyło mi się, gdy WIFI uległo awarii podczas
npm install
. Usunięcienode_modules
i ponowne uruchomienienpm install
naprawiło to.źródło
npm cache clean
.npm cache clean
a usunięciemnode_modules
ta rada działała dla mnie.npm cache clean
tego nie było dla mnie wystarczające, musiałem je również usunąćnode_modules
, aby działało po awarii sieci podczas instalacji.node_modules
katalog usunąć? Mam podobny problem z błędem/usr/local/lib/node_modules/npm/node_modules/read-installed/node_modules/readdir-scoped-modules requires graceful-fs@'^4.1.2'
Rozwiązałem problem za pomocą tych wierszy poleceń
$ rm -rf node_modules/
$ sudo npm update -g npm
$ npm install
Zrobione!
źródło
sudo npm install -g read-package-json
Lub zainstaluj ponownie npmnpm
, sugeruje się zamiast tego zmianę uprawnień lub własności katalogu, który npm chce również napisać.sudo
z npmUaktualnienie NPM do najnowszej wersji może w tym bardzo pomóc. Powyższa odpowiedź dule ma rację, mówiąc, że zarządzanie zależnościami jest nieco zepsute, ale wydaje się, że dotyczy to głównie starszych wersji npm.
Polecenie
npm list
wyświetla listę wszystkich zainstalowanychnode_modules
. Kiedy przeprowadziłem aktualizację z wersji 1.4.2 do wersji 2.7.4, wiele modułów, które były wcześniej oflagowaneWARN unmet dependency
, nie było już takich.Aby zaktualizować npm, powinieneś wpisać
npm install -g npm
na MacOSX lub Linux. W systemie Windows stwierdziłem, że ponowne pobranie i ponowne uruchomienie instalatora nodejs było bardziej skutecznym sposobem aktualizacji npm.źródło
Powyższe odpowiedzi nie pomogły mi w pełni nawet po usunięciu
node_modules
katalogu.Poniższe polecenie pomogło mi w końcu:
Zauważ, że powoduje to przeciągnięcie modułów węzła przez niepewne połączenie HTTP.
Src: https://stackoverflow.com/a/13119867/4082503
źródło
npm install
wiele razy i / lub ręcznie zainstalować niektóre pakiety węzłów jeden po drugim.Dla każdego
-- UNMET PEER DEPENDENCY
, np.-- UNMET PEER DEPENDENCY [email protected]
, zainstaluj tę zależność,npm install --save [email protected]
dopóki nie będzie już więcejUNMET DEPENDENCIES
.Powodzenia.
źródło
ERR! code 1
rm -rf node_modules
, a następnienpm cache clean
inpm install
. Jeśli nadal nie działa, proponuję, aby ponownierm -rf node_modules
, wtedynpm i -g yarn
i wtedyyarn install
. Przędza jest dość dobra w zarządzaniunode_modules
. Powodzenia.peerDependencies
jest. Aby popchnąć Cię do świadomego wyboru wersji.Uruchomiłem
npm list
i zainstalowałem wszystkie pakiety wymienione jako NIEZALEŻNOŚĆNa przykład:
├── UNMET DEPENDENCY css-loader@^0.23.1
npm install css-loader@^0.23.1
źródło
To rozwiązało dla mnie:
package.json
zależności od błędów;node_modules
(rm -rf node_modules
);npm install
.Powtarzaj te kroki, aż nie będzie więcej błędów.
źródło
Coś w podobnym stylu dodałbym jeszcze jeden krok.
Zauważ, że w wersji npm> 1.4.9, 'instalacja npm' instaluje devDependencies. Najpierw spróbuj usunąć istniejące moduły i pamięć podręczną:
Więc spróbuj:
To przynajmniej rozwiąże rekurencyjne rozwiązywanie zależności.
źródło
- dev instaluje rekursywnie devDependencies (i działa wiecznie ...) w jaki sposób może pomóc w rozwiązaniu różnic wersji?
Możesz spróbować usunąć folder node_moduls, następnie wyczyścić pamięć podręczną npm, a następnie ponownie uruchomić polecenie „npm i”
źródło
Miałem podobny problem podczas instalowania React Native CLI. Nie byłem pewien, który
/node_modules
katalog powinienem usunąć po przeczytaniu tutaj odpowiedzi. W końcu po prostu uciekłemnpm update -g
i potem udało się zainstalować pakiet.
źródło
Próbowałem pracować nad działającym automatycznym systemem wdrażania
npm install
, więc wiele z tych rozwiązań nie działałoby dla mnie w zautomatyzowanym systemie. Nie miałem możliwości usuwania / ponownego tworzenia,node_modules/
ani nie mogłem łatwo zmienić wersji Node.js.Skończyło się na tym, że uruchomiłem
npm shrinkwrap
- dodającnpm-shrinkwrap.json
plik do mojego pakietu wdrożeniowego i odtąd uruchamiając instalacje. To rozwiązało problem; z plikiem shrinkwrap jako „pomocnikiem”, npm wydaje się być w stanie znaleźć odpowiednie pakiety i zainstalować je dla mnie. (Shrinkwrap ma również inne funkcje, ale właśnie do tego potrzebowałem w tym konkretnym przypadku).źródło
Napotkałem ten problem podczas instalowania pakietów reagujących i działało to dla mnie:
npm install --save <package causing this error>
źródło
W moim przypadku aktualizacja npm rozwiązała to.
źródło
npm install
zainstaluje wszystkie paczki znpm-shrinkwrap.json
, ale może zignorować paczkipackage.json
, jeśli nie są ustawione wcześniej.Jeśli twój projekt ma
npm-shrinkwrap.json
, upewnij się, że uruchomiłeśnpm shrinkwrap
go, aby go zregenerować, za każdym razem, gdy dodajesz dodaj / usuń / zmieńpackage.json
.źródło
Dbaj o swoją wersję kątową, jeśli pracujesz w wersji kątowej 2.xx, więc być może musisz zaktualizować do wersji kątowej 4.xx
Niektóre zależności wymagają kątowania 4
Oto samouczek dotyczący instalacji programu Angular 4 lub aktualizacji projektu.
źródło
Aktualizacja do 4.0.0
Aktualizacja do 4 jest tak prosta, jak aktualizacja zależności Angular do najnowszej wersji i podwójne sprawdzenie, czy chcesz animacji. Będzie to działać w większości przypadków użycia.
W systemie Linux / Mac:
W systemie Windows:
Następnie uruchom dowolne normalnie używane polecenie ng serw lub npm start i wszystko powinno działać.
Jeśli korzystasz z animacji, zaimportuj nowy
BrowserAnimationsModule
z@angular/platform-browser/animations
katalogu głównegoNgModule
. Bez tego kod zostanie skompilowany i uruchomiony, ale animacje spowodują błąd. Import z@angular/core
był przestarzały, użyj importu z nowego pakietuźródło