Npm WARN install Отказ установить hapi как зависимость от себя
Я попытался сделать следующее (в соответствии с инструкциями официальный сайт):
-
mkdir hapi && cd hapi
-
npm init
-
npm install hapi --save
Но это дает мне такую ошибку:
npm WARN install Отказаться от установки hapi как собственной зависимости
Теперь я создал новую тестовую папку под названием hapiTest
и повторил команды, а затем все работало нормально.
Я пробовал тот же процесс с папкой gulp
и npm install gulp --save
, и получил ту же ошибку, поэтому я пришел к выводу, что я не могу иметь имя папки такой же, как и пакет, который я хочу установить, но может ли кто-нибудь вернуть этот отчет с официальной документацией?
Ответы
Ответ 1
Когда вы выполнили команду npm init
, возможно, были ответы на некоторые важные вопросы. В частности, имя вашего модуля. Когда вы используете npm init
, предполагается, что вы хотите, чтобы имя создаваемого модуля называлось именем папки, в которой она находится.
Значит, это не имя папки, которая останавливает вас от установки зависимости, это имя создаваемого npm модуля.
Откройте результирующий package.json
в вашем каталоге hapi
и переименуйте модуль в нечто, отличное от hapi
. Вот пример "package.json", который работает, даже если он находится в папке с именем hapi:
{
"name": "hapi-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"hapi": "^7.5.2"
}
}
Добавлено примечание
Я не смог найти какую-либо документацию до сих пор, объясняя это явление в контексте npm; хотя это немного проблематично. Требование модулей с тем же именем в одном приложении противоречит философии CommonJS.
Ответ 2
Название вашего модуля такое же, как и модуль, который вы пытаетесь установить. НПМ считает, что вы устанавливаете модуль сам по себе. Измените имя своего модуля, и оно будет прекрасно установлено.
Ответ 3
Причина
Имя модуля совпадает с именем библиотеки
Решение
- Измените имя модуля на другое.
- Измените 'name' в package.json
Ответ 4
Вопрос можно просто объяснить следующим образом
имя вашего пакета или модуля в package.json
не может быть таким же, как имя пакета или модуля, который вы пытаетесь установить.
Здесь hapi
- это имя вашего модуля, и вы пытаетесь установить модуль с именем hapi
с npm install hapi --save
Ответ 5
Это был мой начальный код
{
"name": "react",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^15.6.1"
}
}
в результате чего была ошибка
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN install Refusing to install react as a dependency of itself
то я переименовал имя из реакции на response_app, и мой код выглядит как
{
"name": "react_app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"react": "^15.6.1"
}
}
тогда он работал