Подтвердить что ты не робот

Npm WARN install Отказ установить hapi как зависимость от себя

Я попытался сделать следующее (в соответствии с инструкциями официальный сайт):

  • mkdir hapi && cd hapi
  • npm init
  • npm install hapi --save

Но это дает мне такую ​​ошибку:

npm WARN install Отказаться от установки hapi как собственной зависимости

Теперь я создал новую тестовую папку под названием hapiTest и повторил команды, а затем все работало нормально.

Я пробовал тот же процесс с папкой gulp и npm install gulp --save, и получил ту же ошибку, поэтому я пришел к выводу, что я не могу иметь имя папки такой же, как и пакет, который я хочу установить, но может ли кто-нибудь вернуть этот отчет с официальной документацией?

4b9b3361

Ответ 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"
  }
}

тогда он работал