npm WARN安装拒绝安装hapi作为自身的依赖

Nik*_*ola 40 node.js node-modules

我尝试执行以下操作(根据官方网站的说明):

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

但这给了我一个这样的错误:

npm WARN安装拒绝安装hapi作为自身的依赖

现在,我创建了一个新的测试文件夹,hapiTest并重复命令,然后一切正常.

我想同样的过程与文件夹gulpnpm install gulp --save,并得到了同样的错误,所以我的结论是,我不能有文件夹的名称是一样的,我想安装的软件包,但有人回复此发言了有一些官方文件?

she*_*nan 116

当您执行命令时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"
  }
}
Run Code Online (Sandbox Code Playgroud)

添加了注释

我无法找到任何文件 - 远在npm的背景下解释这种现象; 虽然这有点不费吹灰之力.在同一个应用程序中要求具有相同名称的模块会与CommonJS理念发生冲突.


Kas*_*zar 10

模块的名称与您尝试安装的模块相同.NPM认为您正在将模块安装到自身.更改模块的名称,它将完美安装.


小智 5

原因 模块名称与库名称相同

  1. 将模块名称更改为其他名称
  2. 在package.json中更改'name'