npm WARN安装拒绝安装hapi作为自己的依赖
我试图做以下(从官方网站的指示):
- mkdir hapi && cd hapi
-  npm init
-  npm install hapi --save
但是这给了我一个像这样的错误:
npm WARN安装拒绝安装hapi作为自己的依赖
 现在,我做了一个名为hapiTest的新testing文件夹,并重复了这些命令,然后一切正常。 
 我尝试了一个文件夹gulp和npm install gulp --save的同样的过程,并得到了同样的错误,所以我的结论是,我不能让文件夹的名称与我想要安装的软件包相同,但有人可以用一些官方文件来支持这个声明吗? 
 当你执行命令npm init ,可能有一些相关的问题需要回答。 具体来说,你的模块的名称。 当你使用npm init ,它假定你想要创build的模块的名称被称为它所在的文件夹的名称。 
所以这不是阻止你安装依赖的文件夹的名字,它是你正在创build的npm模块的名字。
 在hapi目录中打开生成的package.json ,并将模块重命名为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" } } 
添加了注释
我还没有find任何文件来解释这种现象在npm的情况下。 尽pipe这是一个不费吹灰之力。 在相同的应用程序中要求具有相同名称的模块将与CommonJS理念冲突。
您的模块名称与您要安装的模块相同。 NPM认为你正在安装模块。 改变你的模块的名称,它会完美安装。
原因模块名称与库名称相同
解
- 将模块名称更改为其他名称
- 更改package.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_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" } } 
那么它的工作