Zwykle mogę zainstalować bibliotekę używając npm ale dzisiaj podczas instalacji yeoman napotkałem ten błąd. Pomóż nam dowiedzieć się, jaka jest główna przyczyna.
D:\Works\phonegap\ionic\todo>npm install -g yo
module.js:340
throw err;
^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
Zajrzałem do folderu:
C: \ Program Files \ nodejs \ node_modules \ npm \ bin \
ale nie widzę folderu node_modules jako opisanego błędu.
Próbuję też znaleźć npm-cli.js i zobaczyć, że faktycznie jest wC:\Program Files\nodejs\node_modules\npm\bin\
Odpowiedzi:
Okazuje się, że problem jest spowodowany nieprawidłową ścieżką węzła w zmiennej systemowej. Ścieżka obecnie wskazuje
(Naprawdę nie wiem, kiedy to zmodyfikowałem)
więc zmieniam na
i działa jak urok.
źródło
Musisz to uruchomić w linii poleceń.
źródło
node_modules
folderuMożesz również mieć ten problem, jeśli na swojej drodze masz
C:\Program Files\nodejs
iC:\Program Files\nodejs\node_modules\npm\bin
. Usuń ten ostatni ze ścieżkiźródło
Właśnie naprawiłem moją instalację NodeJS i zadziałało!
Idź do
Control Panel\All Control Panel Items\Programs and Features
-> znajdźNodeJS
i wybierz opcję naprawy, aby ją naprawić. Mam nadzieję że to pomoże.źródło
npm install express
, naprawienie go pomogło.Skopiuj katalog o nazwie
npm
z zainstalowanej ścieżki węzła (w moim przypadku katalog npm był dostępnyC:\Program Files\nodejs\node_modules
).Przejdź do
C:\Users\%USERNAME%\AppData\Roaming\npm\node_modules
skopiowanegonpm
katalogu i wklej tam.Ta metoda zadziałała, gdy miałem ten sam błąd. . .
źródło
To nie jest ten sam przypadek, co w pytaniu, ale może być pomocny dla kogoś, kto ma podobny problem. W systemie Windows, jeśli wywołujesz
npm
polecenia z jakiegoś narzędzia CI / automatyzacji, możesz napotkać błąd:Error: Cannot find module 'SOME_PATH\node_modules\npm\bin\npm-cli.js'
gdzie
SOME_PATH
nie jestProgram Files/...
tylko katalogiem projektu. Dlatego npm próbuje znaleźć npm-cli.js w katalogu głównym projektu zamiast przeszukiwać goProgram Files/nodejs
.Powodem jest skrypt npm.cmd:
:: Created by npm, please don't edit manually. @ECHO OFF SETLOCAL SET "NODE_EXE=%~dp0\node.exe" IF NOT EXIST "%NODE_EXE%" ( SET "NODE_EXE=node" ) SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js" FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO ( SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js" ) IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" ( SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%" ) "%NODE_EXE%" "%NPM_CLI_JS%" %*
Ten skrypt używa
%~dp0
do wyszukiwania npm-cli.js, ale niektóre narzędzia do automatyzacji mogą ustawić katalog roboczy w sposób%~dp0
wskazujący na lokalny katalog projektu, więc skrypt działa niepoprawnie.Jednym z możliwych rozwiązań może być zmiana wywołań npm z tego
do tego
źródło
Żadna z pozostałych odpowiedzi nie działała dla mnie.
Oto co piszę (w powłoce git bash w systemie Windows):
PATH="/c/Program Files/nodejs/:$PATH" npm run yeoman
źródło
Napotkałem ten sam problem z węzłem 8.5 po zainstalowaniu z nvm. Poniższe rozwiązanie zadziałało dla mnie
$ nvm uninstall 8.5 8.5.0 Uninstalling node v8.5.0...Error removing node v8.5.0 Manually remove C:\Users\Omkar\AppData\Roaming\nvm\v8.5.0. $ nvm install 8.5 8.5.0 Downloading node.js version 8.5.0 (64-bit)... Complete Creating C:\Users\Omkar\AppData\Roaming\nvm\temp Downloading npm version 5.3.0... Complete Installing npm v5.3.0... Installation complete. If you want to use this version, type nvm use 8.5.0 Omkar@VAST-0137 MINGW64 /d/code
To zadziałało dla mnie, ponieważ węzeł 8.5 nie był wcześniej poprawnie zainstalowany z nvm. Odkryłem to, ponieważ foldery i pliki „npm \ bin \ npm-cli.js” nie były wcześniej tworzone w module node_modules.
źródło
Na komputerze Mac:
Uruchomiłem to z wtyczki Maven com.github.eirslett Frontend Plugin, gdy miałem ten sam błąd.
Ostatecznie musiałem:
Zainstaluj Node.js za pomocą instalatora do pobrania tutaj: http://nodejs.org/
Usuń wszystkie foldery
node/
inode_modules/
z mojej struktury kompilacji Maven.źródło
Oprócz powyższego musiałem
C:\Users\%USERNAME%\AppData\Roaming\npm
też usunąć . To pomogło.źródło
Nie zmieniaj żadnych zmiennych środowiskowych
To instalator spowodował problem i nie zainstalował całego wymaganego pliku.
Właśnie naprawiłem konfigurację NODEJS w systemie Windows 7 i działa bardzo dobrze. Może możesz zainstalować ponownie, po prostu na wypadek, gdyby coś nie działało.
źródło
W rzeczywistości istnieją 2 ścieżki, które zostały dodane do zmiennej systemowej podczas aktualizacji do najnowszej wersji nodejs.
1. C: \ Program Files \ nodejs
2. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
Użytkownicy systemu Windows 7/8 / 8.1 nie będą mieli inteligentnego interfejsu GUI systemu Windows 10 ze zmiennymi środowiskowymi.
W każdym razie wszystko, co musisz zrobić, to wyszukać
"C:\Program Files\nodejs\node_modules\npm\bin"
i usunąć.Usuń także
"C:\Users\%USERNAME%\AppData\Roaming\npm"
ze swoich zmiennych środowiskowych. Publikuję tę odpowiedź, ponieważ zmarnowałem 10 godzin na szukanie rozwiązania w Internecie. Łącząc powyższe odpowiedzi, w końcu rozwiązuję problem.źródło
Zaczęło się to dziać po zainstalowaniu GoogleChrome / puppeteer , rozwiązaniem była ponowna instalacja npm:
lub
źródło
Żadne z rozwiązań tutaj nie działało, ale po ponownym uruchomieniu systemu i ponownym uruchomieniu
npm install
zadziałało. Domyślam się, że jeden lub więcej procesów, które przeprowadziłem, zanim je wykonałem.Proste ponowne uruchomienie komputera w systemie Windows 10 zrobiło dla mnie magię!
źródło
Miałem ten sam problem w oknach. Właśnie naprawiłem Node i działało dobrze po ponownym uruchomieniu polecenia w systemie Windows.
źródło
Wiem, że to starszy post, ale kiedy to piszę, wersja Node js to 12.13.1. Ludzie generalnie spotykają się z tym, ponieważ mogli już zainstalować poprzednią wersję Node js, która dodała następujące elementy do ścieżki systemowej.
Jednak nowsze wersje muszą dodać następujące elementy: -
Mam na myśli ścieżkę, na której zainstalowałeś Nodejs. Wartość domyślna to
Jeśli jednak podałeś inną lokalizację, powinieneś to wskazać.
źródło
po prostu uruchom to polecenie:
źródło
npm install -g npm @ [wersja] naprawił problem
źródło
W systemie Windows 10:
wybierz go i kliknij przycisk edytuj po prawej stronie, a następnie edytuj pole do ścieżki, w której masz folder nodejs, w moim przypadku było to po prostu skracanie do:
Następnie zamknąłem wszystkie terminale cmd lub powershell, otworzyłem je ponownie i npm działał.
źródło
Dla facetów wciąż poruszających się po tym wątku:
źródło
nvm install latest
.Rozwiązanie dla mnie w VS2017 (w obszarze Narzędzia | Opcje ...)
Zmieniłem ścieżkę na: C: \ Program Files \ nodejs
źródło
Napotykam ten problem podczas instalowania node9.0.0 na windows7 na końcu rozwiązaniem było po prostu usunięcie npm npm.cmd npx npx.cmd z C: \ Program Files \ nodejs \ node_modules \ npm \ bin przed wykonaniem tego obejścia uruchom C: \ Program Files \ nodejs \ npm, więc jest to jeden sposób, więc sprawdź, czy masz ten sam problem, co ja.
źródło
utwórz ręcznie folder npm w node_modules i uruchom ponownie instalator z opcjami naprawy. Kopiuje brakujące pliki.
źródło
W moim przypadku używałem nvm-windows 1.1.6 i zaktualizowałem moją wersję nodejs za pomocą
nvm install latest
, co ostatecznie powiedziało mi, że nodejs i npm są zainstalowane, jednak kiedy próbowałem to zrobićnpm install
, otrzymałempo sprawdzeniu struktury nvm-windows stwierdziłem, że
C:\Program Files\nodejs
był on dowiązany symbolicznie%APPDATA%\nvm\NODE_VERSION
(w moim przypadku NODE_VERSION to 9.7.1), w którym foldernode_modules
nie ma nic wewnątrz, spowodował ten błąd. Rozwiązaniem było skopiowanienpm
folderu z folderu jednej z moich poprzednich wersjinode_modules
i wklejenie go. Następnie zaktualizowałem mój npmnpm install npm@next -g
i wszystko zaczęło działać ponownie.źródło
Dla mnie żadne z powyższych nie zadziałało, po prostu zauważyłem, że za każdym razem, gdy wykonuję polecenie „npm install ...”, każde polecenie npm po prostu przestaje działać. Dlatego przy każdej instalacji muszę uruchomić program instalacyjny NodeJS i wybrać opcję „napraw”. Aż znajdę prawdziwe rozwiązanie :)
źródło
Aktualizacja NPM do najnowszej wersji zadziałała dla mnie:
źródło
Zmień zmienną ścieżki środowiskowej C: \ Program Files \ nodejs \ node_modules \ npm \ bin i otwórz terminal poleceń i npm -v i
źródło
Napotkałem dziś dokładnie ten sam problem na serwerze Linux. Powód jest naprawdę prosty, ponieważ nie zrobiłem tego
make install
późniejmake
i próbowałem bezpośrednio wywołać wygenerowanynpm
. Zatem PATH i wszystko było w bałaganie.Więc dla mnie rozwiązaniem jest po prostu zrobić
make install
pomake
i uruchomićnpm
under.node/bin/npm
.źródło
Błąd: nie można znaleźć modułu „C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js”
Spójrz na powyższe i oczywiste jest, że ścieżka ma problem. 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ node_modules \ npm \ bin \ npm-cli.js' POWINIEN BYĆ ZMIENIONY NA -> 'C: \ Program Files \ nodejs \ node_modules \ npm \ bin \ npm -cli.js ', co oznacza, że "\ node_modules \ npm \ bin" pomiędzy nimi zostało zduplikowane, co spowodowało tak głupi błąd. Naprawiłem to, edytując zmienną systemową i zaktualizowałem PATH, jak opisano powyżej.
źródło