Устранение ошибки 'npm WARN saveError ENOENT: нет такого файла или каталога, откройте' / Users / <username> /package.json ''

Я новичок, поэтому, пожалуйста, включите ссылки на URL-адреса или объясните терминологию, чтобы я мог понять.

Мне удалось установить npm в Mac OS (10.13.3) через терминал, и я установил несколько пакетов, таких как SASS, используя его.

Я сейчас пытаюсь установить sass-mq с помощью npm. Я думаю, что мне удалось его установить, но мне хотелось бы получить второе мнение о том, что я мог сделать, что было неполным или неправильным при этом.

Изначально, следуя инструкциям на странице sass-mq Github, я пытался использовать:

npm install sass-mq --save

который дал мне эту ошибку:

npm WARN saveError ENOENT: no such file or directory, open '/Users/<username>/package.json'
    npm WARN enoent ENOENT: no such file or directory, open '/Users/<username>/package.json'
    npm WARN <username> No description
    npm WARN <username> No repository field.
    npm WARN <username> No README data
    npm WARN <username> No license field.

    + [email protected]
    updated 1 package and audited 1 package in 1.67s
    found 0 vulnerabilities

Оглядевшись, я понял, что должен использовать

npm init

..перед вводом моей команды 'install sass-mq --save'.

Круто, сделал это. Следующая ошибка была такой:

package name: (nikhil) sass-mq
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/nikhil/package.json:

{
  "name": "sass-mq",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "sass-mq": "^5.0.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this OK? (yes) 
darwin:~ nikhil$ npm install sass-mq --save
npm ERR! code ENOSELF
npm ERR! Refusing to install package with name "sass-mq" under a package
**npm ERR! also called "sass-mq". Did you name your project the same
npm ERR! as the dependency you're installing?**

Я думаю, это говорит о том, что я не могу использовать 'sass-mq' (это имя пакета, как имя локального пакета (?), Который я устанавливаю на свой локальный компьютер. Дополнительная информация здесь.

Поэтому я просто попробовал это:

**package name: (sass-mq) media-queries-nikhil**
version: (1.0.0) 
description: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/nikhil/package.json:

и, кажется, сработало нормально.

Мой вопрос: правильно ли я должен был это сделать? Как вы обычно это делаете?

Кроме того, я получаю эти предупреждения - можно ли их игнорировать?

npm WARN [email protected] No description
npm WARN [email protected] No repository field.

Я задаю этот вопрос частично, чтобы другие люди, вроде меня, ищущие ответ на аналогичную проблему, могли найти объяснение, а не просто команды, которые им нужны для решения их проблемы. Я нашел несколько похожих цепочек вопросов, но ни одна из них не объясняла, что происходит и почему.

Спасибо за чтение, я очень ценю любую помощь в этом :)

Прежде всего, вы используете npm и устанавливаете пакеты в конкретную папку проекта, а не в свой домашний каталог. Если вам нужно установить пакеты для глобального использования, вы можете un npm install packagename -g. Вам нравится использовать npm для использования пакетов в проекте, над которым вы сейчас работаете?

muecas 18.06.2018 00:22

Я думаю, что в этом случае я пытался установить sass-mq глобально, а не для конкретного проекта, но я не знал разницы между установкой пакетов глобально и локально - спасибо!

nkhil 19.06.2018 19:16
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
51
2
102 277
6

Ответы 6

Вы не можете назвать свой проект равным имени пакета, который вы пытаетесь установить.

Переименуйте свой проект в пакете json и попробуйте еще раз или попробуйте npm init еще раз и используйте другое имя.

Та же проблема возникла у меня при запуске:

npm install -g @vue/cli

После долгих исследований и экспериментов единственное, что сработало, это:

npm install -g @vue/cli@latest

закройте проект и снова откройте его, это решит проблему.

npm WARN saveError ENOENT: no such file or directory, open '/Users/{username}/package.json'

  • У вас нет package.json> используйте npm init

  • Вы находитесь не в том каталоге> cd в папке, где находится ваш package.json, например:

    cd C://Dev/MySolution/MyWebProject а затем попробуйте еще раз.


npm WARN [email protected] No description

npm WARN [email protected] No repository field.

отвечать Абулифы объясняет, что ваш проект может быть опубликован как собственный пакет npm ... В этом сценарии эти предупреждения помогут предупредить, что в вашем package.json отсутствуют некоторые поля.

Если вы знаете, что никогда не опубликуете как пакет npm, и хотите скрыть эти предупреждения, добавьте это в свой package.json:

"description": "filling out this field to avoid warnings",
"repository": "not publishing",
"readme": "not publishing",
"license": "not publishing",

Выполните следующее:

npm init -y

Это создаст файл package.json, который вы можете позже отредактировать, добавив надлежащую информацию.

Ссылка: https://www.digitalocean.com/community/questions/npm-warn-saveerror-enoent-package-json-not-found

Проблема:

npm install не работает с ошибкой ниже
npm WARN saveError ENOENT: no such file or directory, open '.../package.json'' error

Причина

Для npm install потребуется package.json в используемом вами current directory, которого нет.

Решение

Предположим, есть 2 каталога:

C:\dir1_p\       <--------- package.json exists
C:\dir2\         <--------- package.json does not exist

cd C:\dir1_p\
npm intall      <---------- PASS, since package.json is present

cd C:\dir2\
npm intall      <---------- ERROR, since package.json is Not present  (this was my problem)

Итак, вы находитесь в правильном каталоге, когда записывали npm install?

Дело 1:, если вы находитесь в неправильном каталоге, cd в каталог, где существует package.json, затем запустите npm install

Случай 2:, если вы находитесь в правильном каталоге и хотите create a new package.json, затем запустите npm init и нажимайте клавиши ENTER, пока он не будет завершен, это создаст package.json в текущем каталоге, теперь запустите npm install

Надеюсь, это кому-то поможет.

да, это сработало, я получил эту ошибку, когда пытался установить mysql в node. Благодарность

MindRoasterMir 07.02.2021 02:57

Другие вопросы по теме