npm WARN install отказывается устанавливать hapi в качестве собственной зависимости
Я попытался сделать следующее (согласно инструкциям из официальный сайт):
mkdir hapi && cd hapi
npm init
npm install hapi --save
но это дает мне такую ошибку:
npm WARN install отказывается устанавливать hapi как зависимость от себя
теперь я сделал новую тестовую папку под названием hapiTest
и повторил команды, а затем все сработало нормально.
я попробовал тот же процесс с папкой gulp
и npm install gulp --save
, и получил ту же ошибку, поэтому мой вывод заключается в том, что я не могу иметь имя папки таким же, как пакет, который я хочу установить, но может ли кто-то поддержать это заявление с какой-то официальной документацией?
5 ответов
когда вы сделали команду npm init
, вероятно, были некоторые соответствующие вопросы, на которые вам нужно было ответить. В частности, название вашего модуля. Когда вы используете npm init
, предполагается, что вы хотите, чтобы имя создаваемого модуля называлось именем папки, в которой он находится.
так это не имя папку это останавливает вас от установки зависимости, это имя модуль npm что вы творящий.
открыт package.json
в своем hapi
каталог, и переименовать модуль на что-то другое, чем hapi
. Вот пример ' пакета.json ' это работает, даже если он находится в папке Хапи:
{
"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 философия.
имя вашего модуля совпадает с именем модуля, который вы пытаетесь установить. NPM думает, что вы устанавливаете модуль к себе. Измените имя вашего модуля, и он будет установлен идеально.
причина Имя модуля совпадает с именем библиотеки
решение
- изменить название модуля на что-то другое
- изменить " имя " в пакете.в JSON
вопрос можно просто объяснить следующим образом
название вашего пакета или модуля в package.json
не может быть таким же, как у пакета или модуля, который вы пытаетесь установить.
здесь hapi
- имя модуля и вы пытаетесь установить модуль с именем hapi
С npm install hapi --save
Это был мой первоначальный код
{
"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 react@1.0.0 No description
npm WARN package.json react@1.0.0 No repository field.
npm WARN package.json react@1.0.0 No README data
npm WARN install Refusing to install react as a dependency of itself
затем я переименовал имя из react в react_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"
}
}
затем он работал