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

153

Я пытаюсь установить зависимости некоторых примеров: npm, 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 бит
  • нпм 1.1.1
  • узел 6.11
  • экспресс 2.5.8
imjp
источник
Как вы загрузили пакеты? Можете ли вы установить их обычным способом (т.е. с помощью npm install <package>?
Линус Тиль
Я этого не пробовал, потому что точно не знаю, какие пакеты используются в приложениях. Как я могу это выяснить, чтобы я мог попробовать установить их вручную?
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 <yourdirectory>

Как только вы это сделаете, вы сможете увидеть кучу файлов, затем вы должны запустить команду:

npm install -d

С уважением.

Aldo
источник
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?
Питер Краусс
157

Я думаю, npm initсоздаст свой отсутствующий package.jsonфайл. Это работает для меня в том же случае.

Дипали Агарвал
источник
83

Я буду кратким, но смертельным. :) установить -d не будет работать для вас. Это просто. Пытаться

$ npm install -g express
Зои Мармара
источник
3
Это исправило и для меня. Можете ли вы объяснить, что делает добавление команды expressк команде npm install -g, что могло стать причиной внезапного изменения успеха? Спасибо!
Джейк Смит
@ jake-smith Я обновил ответ ссылками на документы npm и некоторыми дополнительными примерами и пояснениями, которые должны помочь дополнить первоначальный ответ.
Брайан 'BJ' Хоффпауир младший
Спасибо! С тех пор я многое узнал об этом, и, по общему признанию, смущен этим вопросом. Ржунимагу.
Джейк Смит
1
Что ж, после дальнейшего просмотра кажется, что мое редактирование еще не было рецензировано, поэтому мои добавления не видны. @ Зои-Мармара, ты видишь это в своей очереди?
Брайан 'BJ' Хоффпауир-младший
@ Bryan'BJ'Hoffpauir, может быть, вы должны добавить его в качестве комментария или ответа. Ваше изменение было отклонено. Хотя это довольно трудоемко, и я благодарю вас за потраченное время. :)
Зои Мармара
16

Если Googling «нет такого файла или каталога package.json» отправил вас сюда, то вы можете использовать очень старую версию Node.js

На следующей странице приведены подробные инструкции о том, как легко установить последнюю стабильную версию во многих операционных системах и дистрибутивах:

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

Gerry
источник
Использовал 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
Victor1125
источник
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

и обновить нпм

curl -L https://npmjs.com/install.sh | sudo sh
lrj
источник
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. Проблема была в том, что у меня был проект в двух папках с одинаковым именем. Я решил это, переименовав одну из папок во что-то другое (рекомендуется внешняя папка).

Yipeekiyay
источник
2

Само по себе это говорит о том, что package.jsonнедоступно в вашем проекте. Итак, чтобы создать package.json, используйте следующие шаги:

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

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

DEVENDRAN RAJA
источник
2
npm init -y 

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

Саганша Сан
источник
1

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

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

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

Спасибо! Я также перепробовал много вариантов для этого. Я также использую Windows. Эта команда помогла и сэкономила мое время:

npm install -g npm@lts
bhattraideb
источник
1

Это может быть очень очевидно,
но попробуйте запустить CMD(для Windows) из папки проекта , где находится файл package.json .

Не запускайте CMDиз системы или из «панели поиска» в Win и не
перемещайтесь в папку вашего проекта с помощью cdкоманды, а затем запускайте npm start.

rock_walker
источник
1

хорошо, попробуйте зайти в домашнюю страницу "user @ user: ~ $" (cd + клавиша ввода) и установить npm -g your_module.

sergioAJ
источник
1

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

Если вы создаете проект с использованием проекта Visual Studio Angular, обязательно запустите эту команду внутри папки ClientApp. есть хороший шанс, вы можете искать файл project.json вне папки ClientApp.

Арунагирираджа Нироошан
источник
Это только что случилось со мной. Я хотел ответить, но так как у вас уже есть, примите мое upvote: p
Aimal Khan
1

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

Если файл package.json уже создан в каталоге проекта, есть вероятность, что вы не запускаете проект по правильному пути. Используйте CDyour-project-path в терминале, а затем запустите свой проект оттуда.

Зернаб Хуссейн
источник
0

Для следующей команды

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

Я получил ту же ошибку

ENEENT saveError: нет такого файла или каталога, откройте «/Users/Path/package.json»

Но когда я запускаю команду

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

тогда не появилось отсутствующего файла или каталога.

zeeawan
источник
0

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

Java Баскетбол
источник
0

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

npm init -y

И тогда я установил свою машинопись

npm install -g -typescript

http://blossomprogramming.blogspot.com/

Гагандип Сингх
источник
0

просто установите любой пакет, который вы хотите с -g

npm install -g express

prosper1
источник
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"
}
ecamur
источник
-2

Добавление -g до того, как имя пакета сработало для меня. Ищите документацию, чтобы объяснить, почему это работает ..

Кори Бирум
источник