Я новичок, поэтому, пожалуйста, включите ссылки на 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.
Я задаю этот вопрос частично, чтобы другие люди, вроде меня, ищущие ответ на аналогичную проблему, могли найти объяснение, а не просто команды, которые им нужны для решения их проблемы. Я нашел несколько похожих цепочек вопросов, но ни одна из них не объясняла, что происходит и почему.
Спасибо за чтение, я очень ценю любую помощь в этом :)
Я думаю, что в этом случае я пытался установить sass-mq глобально, а не для конкретного проекта, но я не знал разницы между установкой пакетов глобально и локально - спасибо!

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