npm не може знайти package.json


153

Я намагаюся встановити залежності якогось прикладу: npm's, express 2.5.8який я завантажив, але всі програми додають ту саму помилку:

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

Здається, що блокування:

немає такого файлу чи каталогу 'c: \ node \ stylus \ package.json

Я пропустив крок, який створює package.json?

Я бігаю:

  • Windows 7 64 біт
  • npm 1.1.1
  • вузол 6.11
  • експрес 2.5.8

Як ви завантажували пакунки? Чи можете ви встановити їх звичайним способом (тобто npm install <package>?
Linus Thiel

Я цього не пробував, бо не знаю, які саме пакети використовуються в додатках. Як я можу це дізнатися, щоб спробувати встановити їх вручну?
imjp

1
npm view <package>покаже вам package.jsonразом із залежностями. Також npm helpваш друг.
Лінус Тіль

Я перевірив файл пакету, npm view packageале отримую цю помилку: i.imgur.com/AwGHu.gif . Я намагаюся змусити деякі з них працювати: github.com/visionmedia/express/tree/2.x/examples
imjp

2
Гммм ... <package>мав на увазі приклад. Спробуйте, наприклад npm view stylus.
Лінус Тіль

Відповіді:


92

Оновлення 2018 року

Це стає досить популярним питанням, і моя відповідь (хоча і позначена як правильна) вже не відповідає дійсності. Будь ласка, зверніться до відповіді Депалі нижче:

npm init

Оригінальний застарілий відповідь

Я думаю, ви забули налаштувати каталог для express:

express <yourdirectory>

Після цього ви повинні мати можливість бачити купу файлів, після чого слід виконати команду:

npm install -d

З повагою


2
а де експрес, якщо я раніше встановив "npm install -g express"?
спорт

1
Вам потрібно виконати "npm install -g express-generator" за допомогою> Express 4.0.0. Джерело: stackoverflow.com/questions/23002448/express-command-not-found , після цього експрес-команда може бути виконана
Lucian Depold

Консоль UBUNTU запропонував sudo apt install node-express-generator... Отже, що найкраще, apt install чи npm install?
Пітер Краус


83

Я буду короткою, але смертельною. :) встановити -d для вас не буде працювати. Це просто. Спробуйте

$ npm install -g express

3
Це виправлено і для мене, чи можете ви пояснити, що додавання команди expressдо команди npm install -gможе бути причиною раптової зміни успіху? Дякую!
Джейк Сміт

@ Джейк-Сміт Я оновив відповідь посиланнями на документи npm та деякими додатковими прикладами та поясненнями, які повинні допомогти збільшити оригінальну відповідь.
Bryan 'BJ' Hoffpauir Jr.

Дякую! Я з цього часу дізнався досить багато про це, і мене, мабуть, бентежить це питання. Лол.
Джейк Сміт

1
Ну а після подальшого огляду виглядає, що моя редакція ще не була перевірена, тому мої доповнення не видно. @ Zoe-Marmara Ви бачите це у власній черзі?
Bryan 'BJ' Hoffpauir Jr.

@ Bryan'BJ'Hoffpauir, можливо, ви повинні додати це як коментар чи відповідь. Вашу редакцію відхилено. Але це зусилля, і я дуже дякую за ваш час. :)
Zoe Marmara

57

Дотримуючись наведених нижче кроків, ви добре отримаєте файл package.json .

npm --version
npm install express
npm init -y

Посилання: http://www.codingslover.com/2017/02/npm-node-js-cant-find-packagejson.html


@elangovan Посилання, здається, не вирішує для мене.
iokevins

@iokevins Будь ласка, спробуйте цю URL-адресу codingslover.blogspot.com/2017/02/…
Elangovan

16

Якщо Googling "жодного такого файлу чи каталогу package.json" не надіслав вам сюди, можливо, ви використовуєте дуже стару версію Node.js

На наступній сторінці є хороші вказівки, як легко встановити останню стійку на багатьох операційних системах та дистрибутивах:

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


Використовував node --version0.10.31, і виникли проблеми. Понижено до 0.10.29, але це все ще не було вирішено. Здається, це проблема з інсталятором Windows, оскільки вони також перестали створювати C:\Users\User\AppData\Roaming\npmпапку.
Шон Соломон

8
Я отримав помилку "немає такого файлу чи каталогу package.json", намагаючись запустити "npm install" у навчальному посібнику Angular.js і опинився тут. В інструкціях не було очевидно, що вам потрібно вписати в перевірений код навчального посібника - в цьому випадку package.json знаходиться в реєстрі, який ви клонували від git на попередньому кроці ( docs.angularjs.org/tutorial )
Кевін Гук

@ Рішення KevinHooke - це відповідь на цю проблему. Запуск npm -install з каталогу клонованих додатків вирішив проблему.
Вікрам

8

Використовуйте команду win7 / win8 / win10 (CD) для переміщення папок:

  1. Введіть папку проектів

  2. Виконати: npm install -d


5

Новачки зазвичай пробують команду npm з випадкових локацій. Завантаживши або створивши проект, вам потрібно вписати в цю папку проекту. Всередині знаходиться файл package.json.

cd <path_to_project>
npm install

3

спробуйте перевстановити 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

та оновити npm

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

3

Вузол поставляється з npm, встановленим, тому у вас повинна бути версія npm. Однак npm оновлюється частіше, ніж Node, тому ви хочете переконатися, що це остання версія.

sudo npm install npm -g

Тест:

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

Після цього ви зможете запустити:

npm install

2

У мене була подібна проблема з npm. Проблема полягала в тому, що я мав проект усередині двох однойменних папок. Я вирішив це, перейменувавши одну з папок на щось інше (рекомендується зовнішня папка).


2

Це саме по собі говорить, що package.jsonце недоступно у вашому проекті. Отже, щоб створити package.json, скористайтеся наступними кроками:

  1. відкрити командний рядок у каталозі вашого проекту
  2. npm init (він попросить вас ввести багато записів, таких як ім'я, версія, desc тощо), введіть деякі випадкові значення та натисніть клавішу Enter.
  3. введіть yesта натисніть Enter

Тепер спробуйте ще раз.


2
npm init -y 

використовувати цю команду, вона автоматично створить файл package.json з усією інформацією про вашу машину.


1

Моя проблема полягала в тому, що я не мав файл package.json чомусь. Після того, як я ввімкнув цей файл у свій каталог, я зміг запустити npm install

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


2
Я знаю, що це по-старому, але все ж мушу сказати - це може придушити конкретну помилку, але це не правильний спосіб вирішення цієї проблеми. Ви стягуєте package.json для Bootstrap, абсолютно іншого проекту від вашого.
Сем Хенлі

1

Дякую! Я також спробував багато варіантів для цього. Я також використовую Windows. Ця команда допомогла і заощадила мій час:

npm install -g npm@lts

1

Це може бути дуже очевидним,
але спробуйте запустити CMD(для Windows) із папки проекту , де розміщений файл package.json .

Не запускайте CMDіз системи або з "Пошукової панелі" у програмі Win і не
переходьте до папки проекту за допомогою cdкоманди, а потім запускайте npm start.


1

Гаразд, спробуйте перейти до домашньої сторінки "user @ user: ~ $" (cd + клавіша вводу) та npm install -g ваш_модуль.


1

Зайдіть у папку проекту і перевірте, чи існує файл package.json.

Якщо ви створюєте проект за допомогою кутового проекту Visual Studio, переконайтеся, що ви запустили цю команду всередині папки ClientApp. є хороший шанс, ви можете шукати файл project.json поза папкою ClientApp.


Це зі мною щойно трапилось. Я хотів відповісти, але оскільки у вас вже є, прийміть моє оновлення: p
Аймал Хан

1

якщо файл package.json у каталозі проекту відсутній, ви можете створити його за допомогою npm init .

якщо файл package.json вже створений у каталозі проектів, то існує ймовірність того, що ви не запускаєте проект з правильного шляху. Використовуйте CDyour-project-path у терміналі, а потім запустіть проект звідти.


0

Для наступної команди

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

У мене така ж помилка

saveError ENOENT: такого файлу чи каталогу немає, відкрийте '/Users/Path/package.json'

Але коли я запускаю команду

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

тоді не з’явилося повідомлення про відсутність файлу чи каталогу.


0

Я пробіг npm install -yпропустити крок питання щодо створення відсутнього файлу package.json, yозначає, що так


0

Я також зіткнувся з тим же питанням під час встановлення typecript. Я просто ініціалізував файл package.josn наступною командою

npm init -y

І тоді я встановив свій машинопис

npm install -g -typescript

http://blossomprogramming.blogspot.com/



0

Перевірте каталог або папку, в яку ви встановлюєте новий пакет. Це трапилось і зі мною, весь мій проект знаходився у підкаталозі, і я намагався встановити його в головному каталозі. Перевіривши все, я з’ясував, що мені довелося встановити у підкаталозі, де знаходяться мої файли проекту та файли package.json, і це зроблено. Сподіваюся, це допомагає ...


-1

Створіть package.json, не задаючи йому жодних питань. Я запустив коментар нижче в Mac і Windows під каталогом, який я хотів би створити package.json, і він працює

$ 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

Додавання -g до того, як назва пакета працювала на мене. Шукаю документацію, щоб пояснити, чому це працює ..

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.