npm nie może znaleźć pliku package.json


153

Próbuję zainstalować zależności z jakiegoś przykładu: npm, express 2.5.8które pobrałem, ale wszystkie aplikacje zgłaszają ten sam błąd:

c:\node\stylus>npm install -d
npm info it worked if it ends with ok
npm info using npm@1.1.1
npm info using node@v0.6.11
npm ERR! Couldn't read dependencies.

npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json'
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR!
npm ERR! System Windows_NT 6.1.7600
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-d"
npm ERR! cwd c:\node\stylus
npm ERR! node -v v0.6.11
npm ERR! npm -v 1.1.1
npm ERR! path c:\node\stylus\package.json
npm ERR! code ENOENT
npm ERR! message ENOENT, no such file or directory 'c:\node\stylus\package.json'

npm ERR! errno {}
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     c:\node\stylus\npm-debug.log
npm not ok

Wygląda na to, że zator:

nie ma takiego pliku lub katalogu 'c: \ node \ stylus \ package.json

Czy przegapiłem krok, który tworzy plik package.json ?

Biegnę:

  • Windows 7 w wersji 64-bitowej
  • npm 1.1.1
  • węzeł 6.11
  • ekspresowe 2.5.8

Jak pobrałeś pakiety? Czy możesz je zainstalować w zwykły sposób (tj. Za pomocą npm install <package>?
Linus Thiel

Nie próbowałem tego, ponieważ nie wiem dokładnie, które pakiety są używane w aplikacjach. Jak mogę to sprawdzić, aby spróbować zainstalować je ręcznie?
imjp

1
npm view <package>pokaże ci package.jsonwraz z zależnościami. Jest też npm helptwoim przyjacielem.
Linus Thiel

Pobrałem plik pakietu z, npm view packageale pojawia się ten błąd: i.imgur.com/AwGHu.gif . Próbuję sprawić, by niektóre z nich działały: github.com/visionmedia/express/tree/2.x/examples
imjp

2
Hmmm ... <package>miał służyć jako przykład. Spróbuj np npm view stylus.
Linus Thiel

Odpowiedzi:


92

Zaktualizuj 2018

To staje się dość popularne pytanie, a moja odpowiedź (choć oznaczona jako poprawna) jest już nieaktualna. Proszę zapoznać się z odpowiedzią Deepali poniżej:

npm init

Oryginalna nieaktualna odpowiedź

Myślę, że zapomniałeś skonfigurować katalog dla Express:

express <yourdirectory>

Gdy to zrobisz, powinieneś zobaczyć kilka plików, powinieneś następnie uruchomić polecenie:

npm install -d

Pozdrowienia.


2
a gdzie jest express, jeśli wcześniej instalowałem z "npm install -g express"?
sport

1
Musisz wykonać „npm install -g express-generator” z> Express 4.0.0. Źródło: stackoverflow.com/questions/23002448/express-command-not-found , po czym można wykonać polecenie ekspresowe
Lucian Depold

Konsola UBUNTU zasugerowała sudo apt install node-express-generator... Więc co najlepsze, apt install czy npm install?
Peter Krauss

157

Myślę, npm initże utworzy brakujący package.jsonplik. U mnie działa w tym samym przypadku.


83

Będę krótka, ale zabójcza. :) install -d nie będzie działać dla Ciebie. To proste. Próbować

$ npm install -g express

3
To również rozwiązało problem. Czy możesz wyjaśnić, dlaczego dodanie expresspolecenia do polecenia npm install -gmogło być przyczyną nagłej zmiany sukcesu? Dzięki!
Jake Smith

@ jake-smith Zaktualizowałem odpowiedź o odniesienia do dokumentów npm oraz kilka dodatkowych przykładów i wyjaśnień, które powinny pomóc rozszerzyć oryginalną odpowiedź.
Bryan 'BJ' Hoffpauir Jr.

Dzięki! Od tamtej pory sporo się o tym dowiedziałem i trzeba przyznać, że to pytanie mnie zawstydza. Lol.
Jake Smith

1
Cóż, po dalszej recenzji wygląda na to, że moja edycja nie została jeszcze recenzowana, więc moje dodatki nie są widoczne. @ Zoe-Marmara Czy widzisz to w swojej własnej kolejce?
Bryan 'BJ' Hoffpauir Jr.

@ Bryan'BJ'Hoffpauir może powinieneś dodać to jako komentarz lub odpowiedź. Twoja zmiana została odrzucona. To jednak spory wysiłek i bardzo dziękuję za poświęcony czas. :)
Zoe Marmara


16

Jeśli Googling „nie ma takiego pliku lub katalogu, pakiet.json” wysłała Cię tutaj , być może używasz bardzo starej wersji Node.js

Poniższa strona zawiera dobre instrukcje, jak łatwo zainstalować najnowszą wersję stabilną w wielu systemach operacyjnych i dystrybucjach:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager


Używał node --version0.10.31 i był o tę kwestię. Obniżono do 0.10.29 i nadal nie został rozwiązany. Wygląda na to, że jest to problem z instalatorem systemu Windows, ponieważ zaprzestał on również tworzenia C:\Users\User\AppData\Roaming\npmfolderu.
Shawn Solomon,

8
Otrzymałem błąd „nie ma takiego pliku lub katalogu package.json” podczas próby uruchomienia 'npm install' w samouczku Angular.js i skończyło się tutaj. W instrukcjach nie było oczywiste, że musisz wprowadzić cd do pobranego kodu samouczka - w tym przypadku plik package.json znajduje się w katalogu, który sklonowałeś z gita w poprzednim kroku ( docs.angularjs.org/tutorial )
Kevin Hooke

Rozwiązanie @ KevinHooke jest odpowiedzią na ten problem. Uruchomienie npm -install ze sklonowanego katalogu aplikacji rozwiązało problem.
Vikram

8

Użyj polecenia w win7 / win8 / win10 (CD) do przenoszenia folderów:

  1. Wejdź do folderu swoich projektów

  2. Biegać: npm install -d


5

Początkujący zwykle próbują komendy npm z przypadkowych lokalizacji. Po pobraniu lub utworzeniu projektu musisz przenieść go do tego folderu projektu. Wewnątrz znajduje się plik package.json.

cd <path_to_project>
npm install

3

spróbuj ponownie zainstalować Node.js

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

sudo apt-get install -y nodejs

sudo apt-get install -y build-essential

i zaktualizuj npm

curl -L https://npmjs.com/install.sh | sudo sh

3

Węzeł jest dostarczany z zainstalowanym npm, więc powinieneś mieć wersję npm. Jednak npm jest aktualizowany częściej niż Node, więc upewnij się, że jest to najnowsza wersja.

sudo npm install npm -g

Test:

npm -v //The version should be higher than 2.1.8

Po tym powinieneś być w stanie uruchomić:

npm install

2

Miałem podobny problem z npm. Problem polegał na tym, że miałem projekt w dwóch folderach o tej samej nazwie. Rozwiązałem to, zmieniając nazwę jednego z folderów na coś innego (zalecany folder zewnętrzny).


2

Samo w sobie mówi, że package.jsonnie jest dostępne w twoim projekcie. Aby więc utworzyć package.json, wykonaj następujące czynności:

  1. otwórz wiersz polecenia w katalogu projektu
  2. npm init (poprosi Cię o wprowadzenie wielu wpisów, takich jak nazwa, wersja, opis, itp., wprowadź losowe wartości i kliknij Enter).
  3. wpisz yesi kliknij Enter

Teraz spróbuj ponownie.


2
npm init -y 

użyj tego polecenia, automatycznie utworzy plik package.json ze wszystkimi informacjami o komputerze.


1

Mój problem polegał na tym, że z jakiegoś powodu nie miałem pliku package.json. Po umieszczeniu tego pliku w katalogu mogłem uruchomić instalację npm

https://raw.githubusercontent.com/twbs/bootstrap/master/package.json


2
Wiem, że to jest stare, ale nadal muszę powiedzieć - może to wyeliminować konkretny błąd, ale nie jest to właściwy sposób rozwiązania tego problemu. Pobierasz plik package.json dla Bootstrap, zupełnie innego projektu niż Twój.
Sam Hanley,

1

Dziękuję Ci! Próbowałem też wielu opcji do tego. Używam również Windows, to polecenie pomogło i zaoszczędziło mi czasu:

npm install -g npm@lts

1

Może to być bardzo oczywiste,
ale spróbuj uruchomić CMD(w systemie Windows) z folderu projektu , w którym znajduje się plik package.json .

Nie uruchamiaj CMDz systemu lub z „paska wyszukiwania” w Win, ani nie
przechodź do folderu projektu za pomocą cdpolecenia, a następnie uruchom npm start.


1

ok, spróbuj przejść do strony głównej "user @ user: ~ $" (cd + klawisz enter) i npm install -g twój_module.


1

Wejdź do folderu projektu i sprawdź, czy plik package.json istnieje.

Jeśli tworzysz projekt przy użyciu projektu Visual Studio Angular, upewnij się, że uruchamiasz to polecenie w folderze ClientApp. istnieje duża szansa, że ​​możesz szukać pliku project.json poza folderem ClientApp.


To właśnie mi się przydarzyło. Chciałem odpowiedzieć, ale skoro już to zrobiłeś, przyjmij moje głosy za: p
Aimal Khan

1

jeśli brakuje pliku package.json w katalogu projektu, możesz go utworzyć za pomocą npm init .

jeśli plik package.json jest już utworzony w katalogu projektu, istnieje możliwość, że projekt nie jest uruchamiany z właściwej ścieżki. Użyj płyty CDyour-project-path w terminalu, a następnie uruchom stamtąd swój projekt.


0

Dla następującego polecenia

sudo npm install react browserify watchify babelify --save-dev

Mam ten sam błąd

saveError ENOENT: nie ma takiego pliku lub katalogu, otwórz '/Users/Path/package.json'

Ale kiedy uruchomię polecenie

sudo npm install -gd react browserify watchify babelify --save-dev

wtedy nie pojawił się żaden komunikat o braku pliku lub katalogu.


0

Pobiegłem, npm install -yaby pominąć krok pytania dotyczący tworzenia brakującego pliku package.json, yoznacza tak



0

po prostu zainstaluj dowolny pakiet, z którym chcesz -g

npm install -g express


0

Sprawdź katalog lub folder, w którym instalujesz nowy pakiet. Zdarzyło mi się to również, mój cały projekt znajdował się w podkatalogu i próbowałem zainstalować w głównym katalogu. Po sprawdzeniu całości stwierdziłem, że muszę zainstalować w podkatalogu, w którym znajdują się pliki mojego projektu oraz pliki package.json i gotowe. Mam nadzieję że to pomoże...


-1

Wygeneruj plik package.json bez zadawania pytań. Uruchomiłem poniższy komentarz w systemie Mac i Windows w katalogu, w którym chciałbym utworzyć pakiet.json i działa

$ npm init -y

Wrote to C:\workspace\package.json:

{
  "name": "workspace",
  "version": "1.0.0",
  "description": "",
  "main": "builder.js",
  "dependencies": {
    "jasmine-spec-reporter": "^4.2.1",
    "selenium-webdriver": "^4.0.0-alpha.5"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

-2

Dodanie -g, zanim nazwa pakietu zadziałała. Szukam dokumentacji wyjaśniającej, dlaczego to działa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.